Wie lösche ich die erste Zeile einer Textdatei mit Python?

Ich habe online gesucht, habe aber keine gute Lösung gefunden.

Hier ist meine Textdatei:

[54, 95, 45, -97, -51, 84, 0, 32, -55, 14, 50, 54, 68, -3, 57, 88, -1] [24, 28, 38, 37, 9, 44, -14, 84, -40, -92, 86, 94, 95, -62, 12, -36, -12] [-26, -67, -89, -7, 12, -20, 76, 88, -15, 38, -89, -65, -53, -84, 31, -81, -91] [-19, -50, 16, 47, -42, -31, 75, 0, 25, -95, 75, 97, 19, 77, -2, -31, -59] [-66, -10, 35, -39, 24, 70, 74, -45, -27, 77, -44, 86, 57, 14, -91, -26, -20] [-63, 80, -31, 70, 100, 22, -30, 74, 44, -35, -25, -75, -39, -13, -93, 0, 1] [63, 13, 67, 55, -56, 45, 10, 61, -14, -55, 40, 84, -59, 7, 75, -64, -25] [7, -50, -17, -86, -43, 34, 82, 84, 49, 18, 56, -31, -19, 59, -96, 72, -40] [-73, 34, -68, 20, 30, 1, 49, 77, -94, 2, -83, 40, 2, 20, 66, 60, -36] [-80, -12, 93, 77, 73, -55, 24, 3, -60, 12, -41, -43, -49, 36, 6, -93, -24] [-41, 12, -43, 42, -70, 75, -84, -83, 30, 78, -3, 51, 69, 0, 65, 60, -15] [82, 97, -57, -96, 25, -100, 61, 13, -80, -32, 99, 60, 58, -58, -45, -58, -53] [-90, -34, 80, 95, -12, -34, 71, -83, 46, 10, -78, -40, 65, 53, -81, 40, -59] [-80, -20, -87, -2, -54, 74, -79, 22, -20, 60, -84, -12, -40, -98, -81, -5, -35] [33, 36, -46, 10, -77, 88, -99, -5, 19, -20, 89, 87, -47, 46, 10, 17, -67] [-77, 73, 20, 44, 79, -14, -8, -49, 45, -49, -91, -21, 41, -13, 74, -71, -15] [98, -99, 51, 53, 56, -78, 31, 45, 35, -36, -10, -86, 9, 94, 24, -2, -20] [-37, 46, -77, -92, 48, -34, 75, 19, -74, -13, -100, 33, -46, 19, -60, 5, 5] [-13, -30, -82, -70, 64, 87, 16, 67, -36, 22, -99, -92, 36, 8, 90, 48, -5] [46, 75, -15, 24, 24, -37, -3, -45, 32, -84, -2, -16, 43, -88, 92, 27, -10] 

Alles, was ich will, ist, die erste Zeile zu löschen (was bedeutet, dass die zweite Zeile als erste Zeile, nicht füllen erste Zeile mit Whitespace bedeutet).

Könnte mir bitte jemand helfen?

3 Solutions collect form web for “Wie lösche ich die erste Zeile einer Textdatei mit Python?”

Angenommen, Sie haben genug Speicher, um alles im Gedächtnis zu halten:

 with open('file.txt', 'r') as fin: data = fin.read().splitlines(True) with open('file.txt', 'w') as fout: fout.writelines(data[1:]) 

Wir könnten Fancier bekommen, die Akte öffnen, lesen und dann wieder an den Anfang suchen, um die zweite open beseitigen, aber wirklich, das ist wohl gut genug.

Bash wird zu diesem Zweck schneller sein. Sie können diese in Ihnen python Skript verwenden:

 subprocess.Popen.communicate() 

Ich habe eine Funktion zum Ausführen eines Unterprozesses cmd für Shell geschrieben:

 def popen_method(call): subprocess_call = Popen([call], shell=True, stdout=PIPE, stderr=PIPE) out, err = subprocess_call.communicate() if err: raise yourError( '\n============= WARNING/ERROR ===============\n{}\n===========================================\n'.format( err.rstrip())) return out 

Sie nennen es so:

 testing = "sed -i /var/output/ip_list.csv -e '1 s/^.*$/host_id,ip,last_updated/g'" popen_method(testing) 

oder benutzen:

 from sh import sed 

Dann führen Sie den Befehl sed:

 sed -i /var/output/ip_list.csv -e '1 s/^.*$/host_id,ip,last_updated/g' 

Dies wird ersetzen was auch immer du in der ersten Zeile mit host_id,ip,last_updated .

Hier ist eine Memory-effiziente (?) Lösung, die Gebrauch macht von Shutil:

 import shutil source_file = open('file.txt', 'r') source_file.readline() target_file = open('file.txt', 'w') shutil.copyfileobj(source_file, target_file) 
  • Lesen von Ganzzahlen aus Binärdatei in Python
  • Wie kann ich den Dateinamen einer Django FileField-Instanz aktualisieren?
  • Python-Threading: Ist es okay, mehrere gegenseitig exklusive Teile einer Datei gleichzeitig zu lesen / zu schreiben?
  • Python: Wie bekomme ich eine neue Spalte für jede Datei, die ich gelesen habe?
  • Was ist der beste Weg, um eine Datei für exklusiven Zugriff in Python zu öffnen?
  • Iterate durch Worte einer Datei in Python
  • Get Line Zahl der bestimmten Phrase in Datei Python
  • Las die ganze Datei sofort
  • Wie lese ich in einem Charakter zu einer Zeit aus einer Datei in Python?
  • Etwa eine Datei in Python schließen
  • Python: löschen nicht-leer dir [duplizieren]
  • Python ist die beste Programmiersprache der Welt.