Python-Dateioperationen – Lesen und Schreiben von Dateien mit Python

In diesem Tutorial werden wir an den verschiedenen Dateioperationen in Python arbeiten. Wir werden durchgehen, wie man Python verwendet, um eine Datei zu lesen, in eine Datei zu schreiben, Dateien zu löschen und vieles mehr. Also, ohne Verzögerung, lass uns anfangen.

Arbeiten mit Dateien in Python

Im vorherigen Tutorial haben wir die Konsole verwendet, um Eingaben entgegenzunehmen. Jetzt werden wir Eingaben über eine Datei entgegennehmen. Das bedeutet, wir werden aus Dateien lesen und in Dateien schreiben. Dazu müssen wir einige Schritte befolgen. Diese sind

  1. Datei öffnen
  2. Aus dieser Datei Eingaben entgegennehmen / Ausgaben in diese Datei schreiben
  3. Datei schließen

Wir werden auch einige nützliche Operationen wie das Kopieren von Dateien und das Löschen von Dateien lernen.

Warum sind Dateioperationen in Python notwendig?

Bei der Arbeit mit großen Datensätzen in maschinellem Lernen sind Dateioperationen ein grundlegender Bedarf. Da Python eine häufig verwendete Sprache für Data Science ist, sollten Sie mit den verschiedenen Dateioperationen, die Python bietet, vertraut sein.

Also, lass uns hier einige der Python-Dateioperationen erkunden.

1. Eine Datei in Python mit der open() Funktion öffnen

Der erste Schritt beim Arbeiten mit Dateien in Python besteht darin, zu lernen, wie man eine Datei öffnet. Du kannst Dateien mit der open()-Methode öffnen.

Die open() Funktion in Python akzeptiert zwei Argumente. Das erste ist der Dateiname mit dem vollständigen Pfad, und das zweite ist der Dateiöffnungsmodus.

Im Folgenden habe ich einige der üblichen Lese-Modi für Dateien aufgelistet:

  • ‘r’ : Dieser Modus zeigt an, dass die Datei nur zum Lesen geöffnet wird.
  • ‘w’ : Dieser Modus zeigt an, dass die Datei nur zum Schreiben geöffnet wird. Wenn die Datei mit diesem Namen nicht vorhanden ist, wird eine neue erstellt.
  • ‘a’ : Dieser Modus zeigt an, dass die Ausgabe dieses Programms an die vorherige Ausgabe dieser Datei angehängt wird.
  • ‘r+’ : Dieser Modus zeigt an, dass die Datei sowohl zum Lesen als auch zum Schreiben geöffnet wird.

Zusätzlich kannst du für das Windows-Betriebssystem ‚b‘ anhängen, um auf die Datei im Binärformat zuzugreifen. Dies liegt daran, dass Windows zwischen einer binären Textdatei und einer regulären Textdatei unterscheidet.

Angenommen, wir platzieren eine Textdatei namens ‚file.txt‘ im selben Verzeichnis wie unser Code. Jetzt wollen wir diese Datei öffnen.

Jedoch gibt die Funktion open(filename, mode) ein Dateiobjekt zurück. Mit diesem Dateiobjekt können Sie Ihre weiteren Operationen durchführen.

#Verzeichnis:   /home/imtiaz/code.py
text_file = open('file.txt','r')

#Ein weiterer Methode unter Verwendung des vollständigen Speicherorts
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

Der Ausgabewert des folgenden Codes wird sein

================== RESTART: /home/imtiaz/code.py ==================
First Method

Second Method

>>>

2. Dateien in Python lesen und schreiben

Python bietet verschiedene Methoden zum Lesen und Schreiben von Dateien an, wobei jede Funktion unterschiedlich funktioniert. Eine wichtige Sache ist der Dateioperationsmodus. Um eine Datei zu lesen, müssen Sie die Datei im Lese- oder Schreibmodus öffnen. Um in Python in eine Datei zu schreiben, muss die Datei im Schreibmodus geöffnet sein.

Hier sind einige Funktionen in Python, die es Ihnen ermöglichen, Dateien zu lesen und zu schreiben:

  • read() : Diese Funktion liest die gesamte Datei und gibt einen String zurück
  • readline() : Diese Funktion liest Zeilen aus dieser Datei und gibt sie als String zurück. Sie ruft die Zeile n ab, wenn sie das n-te Mal aufgerufen wird.
  • readlines() : Diese Funktion gibt eine Liste zurück, in der jedes Element eine einzelne Zeile dieser Datei ist.
  • readlines() : Diese Funktion gibt eine Liste zurück, in der jedes Element eine einzelne Zeile dieser Datei ist.
  • write() : Diese Funktion schreibt eine feste Sequenz von Zeichen in eine Datei.
  • writelines() : Diese Funktion schreibt eine Liste von Zeichenketten.
  • append() : Diese Funktion fügt der Datei einen String hinzu, anstatt die Datei zu überschreiben.

Nehmen wir zum Beispiel die Datei „abc.txt“ und lesen Sie einzelne Zeilen aus der Datei mit einer for-Schleife:

# öffnen Sie die Datei
text_file = open('/Users/pankaj/abc.txt','r')

# erhalten Sie die Liste der Zeilen
line_list = text_file.readlines();

# für jede Zeile aus der Liste, drucken Sie die Zeile aus
for line in line_list:
    print(line)

text_file.close() # vergessen Sie nicht, die Datei zu schließen

Ausgabe:

Jetzt, da wir wissen, wie man eine Datei in Python liest, gehen wir weiter und führen hier eine Schreiboperation mit der Funktion writelines() durch.

# öffnen Sie die Datei
text_file = open('/Users/pankaj/file.txt','w')

# initialisieren Sie eine leere Liste
word_list= []

# 4-mal iterieren
for i in range (1, 5):
    print("Please enter data: ")
    line = input() # Eingabe erfassen
    word_list.append(line) # zur Liste hinzufügen


text_file.writelines(word_list) # 4 Wörter in die Datei schreiben

text_file.close() # vergessen Sie nicht, die Datei zu schließen

Ausgabe

3. Dateien in Python mit der shutil()-Methode kopieren

Wir können das shutil-Modul verwenden, um Dateien in Python zu kopieren. Mit diesem Dienstprogramm können wir Kopier- und Verschiebeoperationen in Python für verschiedene Dateien durchführen. Arbeiten wir dies anhand eines Beispiels durch:

import shutil

shutil.copy2('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copy2.txt')

# Eine andere Möglichkeit, eine Datei zu kopieren

shutil.copyfile('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copyfile.txt')

print("File Copy Done")

4. Dateien in Python mit der shutil.os.remove()-Methode löschen

Das shutil-Modul von Python bietet die remove()-Methode zum Löschen von Dateien aus dem Dateisystem. Schauen wir uns an, wie wir in Python eine Löschoperation durchführen können.

import shutil
import os

# Zwei Möglichkeiten, eine Datei zu löschen
shutil.os.remove('/Users/pankaj/abc_copy2.txt')

os.remove('/Users/pankaj/abc_copy2.txt')

5. Eine geöffnete Datei in Python mit der close()-Methode schließen

Wenn Sie in Python eine Datei öffnen, ist es äußerst wichtig, die Datei nach den vorgenommenen Änderungen zu schließen. Dadurch werden etwaige zuvor vorgenommene Änderungen gespeichert, die Datei aus dem Speicher entfernt und weitere Lese- oder Schreibvorgänge im Programm verhindert.

Syntax zum Schließen einer geöffneten Datei in Python:

fileobject.close()

Wenn wir von unseren vorherigen Beispielen ausgehen, in denen wir Dateien gelesen haben, so würde das Schließen der Datei folgendermaßen erfolgen:

text_file = open('/Users/pankaj/abc.txt','r')
# einige Dateioperationen hier

text_file.close()

Zusätzlich können Sie das Schließen von Dateien manuell vermeiden, indem Sie den with-Block verwenden. Sobald der with-Block ausgeführt wird, werden die Dateien geschlossen und stehen nicht mehr zum Lesen und Schreiben zur Verfügung.

6. Python FileNotFoundError

Es ist üblich, die FileNotFoundError zu erhalten, wenn Sie mit Dateien in Python arbeiten. Dies kann leicht vermieden werden, indem Sie vollständige Dateipfade beim Erstellen des Dateiobjekts angeben.

  File "/Users/pankaj/Desktop/string1.py", line 2, in <module>
    text_file = open('/Users/pankaj/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pankaj/Desktop/abc.txt'

Um die FileNotFoundError zu beheben, müssen Sie einfach überprüfen, ob der von Ihnen für die Methode zum Öffnen der Datei angegebene Pfad korrekt ist.

Fazit

Das sind die Dateioperationen in Python. Es gibt viele weitere Möglichkeiten, wie Sie Dateien in Python verwenden können, darunter das Lesen von CSV-Daten und mehr. Hier ist ein Artikel darüber, wie Sie das Pandas-Modul verwenden können, um CSV-Datensätze in Python zu lesen.

I hope you enjoyed reading the article! Happy learning 🙂

**Referenzen:
**https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

Source:
https://www.digitalocean.com/community/tutorials/python-read-file-open-write-delete-copy