Heim > Backend-Entwicklung > Python-Tutorial > So kopieren Sie ungerade Zeilen einer Textdatei mit Python in eine andere Datei

So kopieren Sie ungerade Zeilen einer Textdatei mit Python in eine andere Datei

WBOY
Freigeben: 2023-09-14 20:29:13
nach vorne
1123 Leute haben es durchsucht

So kopieren Sie ungerade Zeilen einer Textdatei mit Python in eine andere Datei

In diesem Artikel zeigen wir Ihnen, wie Sie mit Python ungerade Zeilen einer Textdatei in eine andere Textdatei kopieren.

Angenommen, wir erhalten eine Textdatei namens TextFile.txt, die zufälligen Text enthält. Wir kopieren einfach alle ungeraden Zeilen einer Textdatei in eine andere Textdatei und drucken sie aus.

TextFile.txt

Good Morning
This is the Tutorials Point sample File
Consisting of Specific
source codes in Python,Seaborn,Scala
Summary and Explanation
Welcome everyone
Learn with a joy
Nach dem Login kopieren

Algorithmus (Schritte)

Hier sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe:

  • Erstellen Sie eine Variable, um den Pfad zur Textdatei zu speichern.

  • Verwenden Sie die Funktion open() (die eine Datei öffnet und als Ergebnis ein Dateiobjekt zurückgibt), um eine Textdatei im schreibgeschützten Modus zu öffnen, indem Sie den Dateinamen und den Modus als Argumente übergeben (hier „r). „steht für Nur-Lese-Modus).

readFile = open(inputFile, "r")
Nach dem Login kopieren
  • Erstellen Sie eine Variable, um den Pfad der Ausgabedatei zu speichern, der nur ungerade Zeilen aus der angegebenen Eingabedatei enthält.

  • Öffnen Sie die Ausgabedatei im Schreibmodus mit der Funktion open() (die die Datei öffnet und als Ergebnis ein Dateiobjekt zurückgibt), indem Sie den Dateinamen und den Modus als Argumente übergeben (hier steht „w“ für write). Modus).

  • Verwenden Sie die Funktion readlines() (die eine Liste zurückgibt, in der jede Zeile in der Datei als Listenelement dargestellt wird. Um die Anzahl der zurückgegebenen Zeilen zu begrenzen, verwenden Sie das Hint-Argument. Funktioniert nicht mehr, wenn die Gesamtzahl von Wenn die zurückgegebenen Bytes die angegebene Anzahl überschreiten, werden Zeilen zurückgegeben, um eine Liste der Zeilen für die angegebene Eingabetextdatei zu erhalten

  • .
file.readlines(hint)
Nach dem Login kopieren
  • Verwenden Sie eine for-Schleife, um jede Zeile der gelesenen Textdatei zu durchlaufen, bis die Länge der Datei erreicht ist. Verwenden Sie die Funktion len() (die Methode len() gibt die Anzahl der Elemente im Objekt zurück), um die Länge der gelesenen Datei zu berechnen.

  • Verwenden Sie die if-Bedingungsanweisung, um zu bestimmen, ob der Zeilenindex der gelesenen Datei eine ungerade Zahl ist.

  • Wenn die Bedingung wahr ist, werden die gelesenen Dateizeilen mit der Funktion write() in die Ausgabedatei geschrieben (schreibt den angegebenen Text in die Datei. Der bereitgestellte Text wird basierend auf dem Dateimodus und der Stream-Position eingefügt). .

  • Drucken Sie ungerade Zeilen in der angegebenen Eingabedatei.

  • Verwenden Sie die Funktion close(), um die Schreibdatei (Ausgabedatei) zu schließen (wird zum Schließen der geöffneten Datei verwendet).

  • Verwenden Sie die Funktion close(), um die gelesene Datei (Eingabedatei) zu schließen (wird zum Schließen der geöffneten Datei verwendet)

Beispiel

Das folgende Programm kopiert nur die ungeraden Zeilen einer Textdatei in eine andere Textdatei und druckt die ungeraden Zeilen des Ergebnisses aus -

# input text file
inputFile = "ExampleTextFile.txt"
# Opening the given file in read-only mode.
readFile = open(inputFile, "r")

# output text file path
outputFile = "PrintOddLines.txt"
# Opening the output file in write mode.
writeFile = open(outputFile, "w")

# Read the above read file lines using readlines()
ReadFileLines = readFile.readlines()
# Traverse in each line of the read text file
for excelLineIndex in range(0, len(ReadFileLines)):

   # Checking whether the line number i.e excelLineIndex is even or odd
   # Here modulus 2 i.e %2 gives 1 for odd number and 0 for even number
   if(excelLineIndex % 2 != 0):
      # If the index is odd, then x`write the read file line into the
      # output file
      writeFile.write(ReadFileLines[excelLineIndex])
      # printing the odd line
      print(ReadFileLines[excelLineIndex])

# Closing the write file
writeFile.close()

# Closing the read file
readFile.close()
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

This is the Tutorials Point sample File
source codes in Python, Seaborn,Scala
Welcome everyone
Nach dem Login kopieren

Wir füttern das Programm mit einer Textdatei mit zufälligem Inhalt und öffnen sie im Lesemodus. Verwenden Sie dann die Funktion readlines(), um eine Liste aller Zeilen in der Datei abzurufen und diese in einer Variablen zu speichern. Wir durchlaufen die Datei, bis wir die Anzahl aller Zeilen erreicht haben, und prüfen, ob die Zeilennummer ungerade oder gerade ist. Wenn die Anzahl der Zeilen ungerade ist, hängen wir sie an eine neue Datei an und drucken sie aus.

Fazit

Bisher haben wir gelernt, wie man eine Datei öffnet, Dateizeilen liest und Dateizeilen nach Index durchläuft, was zum Abrufen von Informationen wie der n-ten Indexzeile oder dem Wert der n-ten Zeile in einer Excel-Tabelle verwendet werden kann. Darüber hinaus haben wir besprochen, wie man den Wert einer Zeile über einen Index abruft und diese Daten in eine Datei schreibt.

Das obige ist der detaillierte Inhalt vonSo kopieren Sie ungerade Zeilen einer Textdatei mit Python in eine andere Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage