Heim  >  Artikel  >  Backend-Entwicklung  >  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
WBOYnach vorne
2023-09-14 20:29:131036Durchsuche

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

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")
  • 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)
  • 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()

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen