Website-Suche

Python-Dateioperationen - Lesen und Schreiben von Dateien mit Python


In diesem Tutorial werden wir die verschiedenen Dateioperationen in Python behandeln. Wir werden darüber sprechen, wie man Python verwendet, um eine Datei zu lesen, in eine Datei zu schreiben, Dateien zu löschen und vieles mehr. Also, ohne weitere Verzögerungen, lassen Sie uns beginnen.

Arbeiten mit Dateien in Python

Im vorherigen Tutorial haben wir die Konsole verwendet, um Eingaben zu erhalten. Jetzt werden wir Eingaben mithilfe einer Datei vornehmen. Das bedeutet, dass wir aus Dateien lesen und in Dateien schreiben werden. Dazu müssen wir einige Schritte einhalten. Diese sind:

  1. Eine Datei öffnen
  2. Nehmen Sie die Eingabe aus dieser Datei/Schreiben Sie die Ausgabe in diese Datei
  3. Schließe die Datei

Wir werden auch einige nützliche Operationen wie Datei kopieren und Datei löschen lernen.

Warum sind Dateioperationen in Python notwendig?

Bei der Arbeit mit großen Datensätzen in Machine Learning-Problemen ist die Arbeit mit Dateien eine grundlegende Notwendigkeit. Da Python eine weit verbreitete Sprache für Data Science ist, müssen Sie mit den verschiedenen Dateioperationen, die Python bietet, vertraut sein.

Lass uns hier einige der Python-Dateioperationen erkunden.

1. Öffnen Sie eine Datei in Python mit der open() Funktion

Der erste Schritt zum Arbeiten mit Dateien in Python besteht darin, zu lernen, wie man eine Datei öffnet. Sie können Dateien mit der open() Methode öffnen.

Die open()-Funktion in Python akzeptiert zwei Argumente. Das erste ist der Dateiname zusammen mit dem kompletten Pfad und das zweite ist der Dateizugriffsmodus.

Im Folgenden habe ich einige der gängigen Lesemodi 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 eine Datei mit diesem Namen nicht existiert, wird eine neue erstellt.
  • ‘a’ : Dieser Modus weist darauf hin, dass die Ausgabe dieses Programms an die vorherige Ausgabe dieser Datei angefügt wird.
  • ‘r+’ : Dieser Modus zeigt an, dass die Datei sowohl zum Lesen als auch zum Schreiben geöffnet wird.

Zusätzlich können Sie für das Windows-Betriebssystem ein 'b' anhängen, um die Datei im Binärformat zuzugreifen. Dies liegt daran, dass Windows zwischen einer binären Textdatei und einer regulären Textdatei unterscheidet.

Angenommen, wir legen eine Textdatei mit dem Namen 'file.txt' in dasselbe Verzeichnis, in dem sich unser Code befindet. Jetzt wollen wir diese Datei öffnen.

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

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

#Another method using full location
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

Die Ausgabe 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, wobei jede Funktion unterschiedlich funktioniert. Eine wichtige Sache, die zu beachten ist, ist der Modus für Dateioperationen. Um eine Datei zu lesen, musst du die Datei im Lese- oder Schreibmodus öffnen. Während du in Python in eine Datei schreiben möchtest, muss die Datei im Schreibmodus geöffnet sein.

Hier sind einige der 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 der Datei und gibt sie als String zurück. Sie holt die Zeile n, wenn sie zum n-ten Mal aufgerufen wird.
  • readlines() : Diese Funktion gibt eine Liste zurück, wobei jedes Element eine einzelne Zeile dieser Datei ist.
  • readlines() : Diese Funktion gibt eine Liste zurück, wobei jedes Element eine einzelne Zeile dieser Datei ist.
  • write() : Diese Funktion schreibt eine feste Zeichenfolge in eine Datei.
  • writelines() : Diese Funktion schreibt eine Liste von Zeichenfolgen.
  • append() : Diese Funktion fügt einen String zur Datei hinzu, anstatt die Datei zu überschreiben.

Lass uns eine Beispieldatei "abc.txt" nehmen und einzelne Zeilen aus der Datei mit einer for-Schleife lesen:

#open the file
text_file = open('/Users/pankaj/abc.txt','r')

#get the list of line
line_list = text_file.readlines();

#for each line from the list, print the line
for line in line_list:
    print(line)

text_file.close() #don't forget to close the file

Ausgabe:

Jetzt, wo wir wissen, wie man eine Datei in Python liest, lassen Sie uns weitermachen und hier mit der Funktion writelines() eine Schreiboperation durchführen.

#open the file
text_file = open('/Users/pankaj/file.txt','w')

#initialize an empty list
word_list= []

#iterate 4 times
for i in range (1, 5):
    print("Please enter data: ")
    line = input() #take input
    word_list.append(line) #append to the list


text_file.writelines(word_list) #write 4 words to the file

text_file.close() #don’t forget to close the file

Ausgabe

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

Wir können das shutil-Modul verwenden, um Dateien in Python zu kopieren. Dieses Dienstprogramm ermöglicht es uns, Kopier- und Verschiebeoperationen in Python auf verschiedenen Dateien durchzuführen. Lassen Sie uns das mit einem Beispiel bearbeiten:

import shutil

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

#another way to copy file

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 Methode remove(), um Dateien aus dem Dateisystem zu löschen. Lassen Sie uns einen Blick darauf werfen, wie wir eine Löschoperation in Python durchführen können.

import shutil
import os

#two ways to delete file
shutil.os.remove('/Users/pankaj/abc_copy2.txt')

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

5. Schließen Sie eine geöffnete Datei in Python mit der close() Methode.

Wenn Sie eine Datei in Python öffnen, ist es äußerst wichtig, die Datei nach den Änderungen zu schließen. Dies speichert alle Änderungen, die Sie zuvor vorgenommen haben, entfernt die Datei aus dem Speicher und verhindert weitere Lese- oder Schreibvorgänge innerhalb des Programms.

Syntax zum Schließen einer offenen Datei in Python:

fileobject.close()

Wenn wir von unseren vorherigen Beispielen, in denen wir Dateien gelesen haben, fortfahren, so würden Sie die Datei folgendermaßen schließen:

text_file = open('/Users/pankaj/abc.txt','r')
some file operations here

text_file.close()

Zusätzlich können Sie das manuelle Schließen von Dateien vermeiden, wenn Sie den with-Block verwenden. Sobald der with-Block ausgeführt wird, werden die Dateien geschlossen und sind nicht mehr zum Lesen und Schreiben verfügbar.

6. Python FileNotFoundError

Es ist üblich, den FileNotFoundError zu erhalten, wenn man mit Dateien in Python arbeitet. Dies kann leicht vermieden werden, indem man vollständige Dateipfade beim Erstellen des Dateiobjekts angibt.

  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 den FileNotFoundError zu beheben, müssen Sie einfach überprüfen, ob der Pfad, den Sie für die Datei-Öffnen-Methode angegeben haben, korrekt ist.

Schlussfolgerung

Dies sind die Dateioperationen in Python. Es gibt viele weitere Möglichkeiten, wie Sie Dateien in Python verwenden können, einschließlich des Lesens 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.

Ich hoffe, dir hat das Lesen des Artikels gefallen! Viel Spaß beim Lernen :)

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