Python - Datei-E / A.

Dieses Kapitel behandelt alle grundlegenden E / A-Funktionen, die in Python verfügbar sind. Weitere Funktionen finden Sie in der Standard-Python-Dokumentation.

Drucken auf dem Bildschirm

Der einfachste Weg, eine Ausgabe zu erzeugen, ist die Verwendung der print- Anweisung, bei der Sie null oder mehr durch Kommas getrennte Ausdrücke übergeben können. Diese Funktion konvertiert die von Ihnen übergebenen Ausdrücke in eine Zeichenfolge und schreibt das Ergebnis wie folgt in die Standardausgabe:

#!/usr/bin/python

print "Python is really a great language,", "isn't it?"

Dies führt auf Ihrem Standardbildschirm zu folgendem Ergebnis:

Python is really a great language, isn't it?

Tastatureingabe lesen

Python bietet zwei integrierte Funktionen zum Lesen einer Textzeile aus der Standardeingabe, die standardmäßig über die Tastatur erfolgt. Diese Funktionen sind -

  • raw_input
  • input

Die Funktion raw_input

Die Funktion raw_input ([Eingabeaufforderung]) liest eine Zeile aus der Standardeingabe und gibt sie als Zeichenfolge zurück (wobei die nachfolgende neue Zeile entfernt wird).

#!/usr/bin/python

str = raw_input("Enter your input: ")
print "Received input is : ", str

Dadurch werden Sie aufgefordert, eine beliebige Zeichenfolge einzugeben, und es wird dieselbe Zeichenfolge auf dem Bildschirm angezeigt. Wenn ich "Hello Python!" Eingegeben habe, sieht die Ausgabe folgendermaßen aus:

Enter your input: Hello Python
Received input is :  Hello Python

Die Eingabefunktion

Die Eingabefunktion ([Eingabeaufforderung]) entspricht raw_input, außer dass davon ausgegangen wird, dass die Eingabe ein gültiger Python-Ausdruck ist, und das ausgewertete Ergebnis an Sie zurückgibt.

#!/usr/bin/python

str = input("Enter your input: ")
print "Received input is : ", str

Dies würde das folgende Ergebnis gegen die eingegebene Eingabe erzeugen -

Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is :  [10, 20, 30, 40]

Dateien öffnen und schließen

Bis jetzt haben Sie die Standardeingabe und -ausgabe gelesen und geschrieben. Nun werden wir sehen, wie tatsächliche Datendateien verwendet werden.

Python bietet grundlegende Funktionen und Methoden, die zum standardmäßigen Bearbeiten von Dateien erforderlich sind. Sie können den größten Teil der Dateimanipulation mit a ausführenfile Objekt.

Die offene Funktion

Bevor Sie eine Datei lesen oder schreiben können, müssen Sie sie mit der in Python integrierten Funktion open () öffnen . Diese Funktion erstellt einefile Objekt, das verwendet wird, um andere damit verbundene Unterstützungsmethoden aufzurufen.

Syntax

file object = open(file_name [, access_mode][, buffering])

Hier sind Parameterdetails -

  • file_name - Das Argument file_name ist ein Zeichenfolgenwert, der den Namen der Datei enthält, auf die Sie zugreifen möchten.

  • access_mode- Der access_mode bestimmt den Modus, in dem die Datei geöffnet werden muss, dh lesen, schreiben, anhängen usw. Eine vollständige Liste möglicher Werte finden Sie unten in der Tabelle. Dies ist ein optionaler Parameter und der Standard-Dateizugriffsmodus ist read (r).

  • buffering- Wenn der Pufferwert auf 0 gesetzt ist, findet keine Pufferung statt. Wenn der Pufferwert 1 ist, wird beim Zugriff auf eine Datei eine Zeilenpufferung durchgeführt. Wenn Sie den Pufferwert als Ganzzahl größer als 1 angeben, wird die Pufferaktion mit der angegebenen Puffergröße ausgeführt. Wenn negativ, ist die Puffergröße der Systemstandard (Standardverhalten).

Hier ist eine Liste der verschiedenen Modi zum Öffnen einer Datei -

Sr.Nr. Modi & Beschreibung
1

r

Öffnet eine Datei nur zum Lesen. Der Dateizeiger befindet sich am Anfang der Datei. Dies ist der Standardmodus.

2

rb

Öffnet eine Datei zum Lesen nur im Binärformat. Der Dateizeiger befindet sich am Anfang der Datei. Dies ist der Standardmodus.

3

r+

Öffnet eine Datei zum Lesen und Schreiben. Der Dateizeiger am Anfang der Datei.

4

rb+

Öffnet eine Datei zum Lesen und Schreiben im Binärformat. Der Dateizeiger am Anfang der Datei.

5

w

Öffnet eine Datei nur zum Schreiben. Überschreibt die Datei, wenn die Datei vorhanden ist. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Schreiben erstellt.

6

wb

Öffnet eine Datei zum Schreiben nur im Binärformat. Überschreibt die Datei, wenn die Datei vorhanden ist. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Schreiben erstellt.

7

w+

Öffnet eine Datei zum Schreiben und Lesen. Überschreibt die vorhandene Datei, wenn die Datei vorhanden ist. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Lesen und Schreiben erstellt.

8

wb+

Öffnet eine Datei zum Schreiben und Lesen im Binärformat. Überschreibt die vorhandene Datei, wenn die Datei vorhanden ist. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Lesen und Schreiben erstellt.

9

a

Öffnet eine Datei zum Anhängen. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei vorhanden ist. Das heißt, die Datei befindet sich im Anhänge-Modus. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Schreiben erstellt.

10

ab

Öffnet eine Datei zum Anhängen im Binärformat. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei vorhanden ist. Das heißt, die Datei befindet sich im Anhänge-Modus. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Schreiben erstellt.

11

a+

Öffnet eine Datei zum Anhängen und Lesen. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei vorhanden ist. Die Datei wird im Anhänge-Modus geöffnet. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Lesen und Schreiben erstellt.

12

ab+

Öffnet eine Datei zum Anhängen und Lesen im Binärformat. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei vorhanden ist. Die Datei wird im Anhänge-Modus geöffnet. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Lesen und Schreiben erstellt.

Die Datei Objektattribute

Sobald eine Datei geöffnet ist und Sie ein Dateiobjekt haben , können Sie verschiedene Informationen zu dieser Datei abrufen.

Hier ist eine Liste aller Attribute, die sich auf das Dateiobjekt beziehen -

Sr.Nr. Attribut & Beschreibung
1

file.closed

Gibt true zurück, wenn die Datei geschlossen ist, andernfalls false.

2

file.mode

Gibt den Zugriffsmodus zurück, mit dem die Datei geöffnet wurde.

3

file.name

Gibt den Namen der Datei zurück.

4

file.softspace

Gibt false zurück, wenn beim Drucken explizit Speicherplatz erforderlich ist, andernfalls true.

Beispiel

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace

Dies ergibt das folgende Ergebnis:

Name of the file:  foo.txt
Closed or not :  False
Opening mode :  wb
Softspace flag :  0

Die Methode close ()

Die Methode close () eines Dateiobjekts löscht alle ungeschriebenen Informationen und schließt das Dateiobjekt. Danach kann nicht mehr geschrieben werden.

Python schließt eine Datei automatisch, wenn das Referenzobjekt einer Datei einer anderen Datei zugewiesen wird. Es wird empfohlen, die Methode close () zum Schließen einer Datei zu verwenden.

Syntax

fileObject.close()

Beispiel

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name

# Close opend file
fo.close()

Dies ergibt das folgende Ergebnis:

Name of the file:  foo.txt

Dateien lesen und schreiben

Das Dateiobjekt bietet eine Reihe von Zugriffsmethoden, um unser Leben zu erleichtern. Wir würden sehen, wie man read () - und write () -Methoden verwendet, um Dateien zu lesen und zu schreiben.

Die write () -Methode

Die write () -Methode schreibt eine beliebige Zeichenfolge in eine geöffnete Datei. Es ist wichtig zu beachten, dass Python-Zeichenfolgen Binärdaten und nicht nur Text enthalten können.

Die write () -Methode fügt am Ende der Zeichenfolge kein Zeilenumbruchzeichen ('\ n') hinzu -

Syntax

fileObject.write(string)

Übergebener Parameter ist hier der Inhalt, der in die geöffnete Datei geschrieben werden soll.

Beispiel

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n")

# Close opend file
fo.close()

Die obige Methode würde eine foo.txt- Datei erstellen und bestimmten Inhalt in diese Datei schreiben und schließlich diese Datei schließen. Wenn Sie diese Datei öffnen würden, hätte sie folgenden Inhalt.

Python is a great language.
Yeah its great!!

Die read () -Methode

Die read () -Methode liest eine Zeichenfolge aus einer geöffneten Datei. Es ist wichtig zu beachten, dass Python-Strings Binärdaten enthalten können. abgesehen von Textdaten.

Syntax

fileObject.read([count])

Hier ist der übergebene Parameter die Anzahl der Bytes, die aus der geöffneten Datei gelesen werden sollen. Diese Methode beginnt mit dem Lesen am Anfang der Datei. Wenn die Anzahl fehlt, versucht sie, so viel wie möglich zu lesen, möglicherweise bis zum Ende der Datei.

Beispiel

Nehmen wir eine Datei foo.txt , die wir oben erstellt haben.

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()

Dies ergibt das folgende Ergebnis:

Read String is :  Python is

Dateipositionen

Die Methode tell () zeigt Ihnen die aktuelle Position in der Datei an. Mit anderen Worten, das nächste Lesen oder Schreiben erfolgt mit so vielen Bytes ab dem Anfang der Datei.

Die Suchmethode (Offset [, von]) ändert die aktuelle Dateiposition. Das Offset- Argument gibt die Anzahl der zu verschiebenden Bytes an. Das Argument from gibt die Referenzposition an, von der aus die Bytes verschoben werden sollen.

Wenn from auf 0 gesetzt ist, bedeutet dies, dass der Anfang der Datei als Referenzposition verwendet wird, und 1 bedeutet, dass die aktuelle Position als Referenzposition verwendet wird. Wenn sie auf 2 gesetzt ist, wird das Ende der Datei als Referenzposition verwendet .

Beispiel

Nehmen wir eine Datei foo.txt , die wir oben erstellt haben.

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str

# Check current position
position = fo.tell()
print "Current file position : ", position

# Reposition pointer at the beginning once again
position = fo.seek(0, 0);
str = fo.read(10)
print "Again read String is : ", str
# Close opend file
fo.close()

Dies ergibt das folgende Ergebnis:

Read String is :  Python is
Current file position :  10
Again read String is :  Python is

Dateien umbenennen und löschen

Python os Das Modul bietet Methoden, mit denen Sie Dateiverarbeitungsvorgänge ausführen können, z. B. das Umbenennen und Löschen von Dateien.

Um dieses Modul zu verwenden, müssen Sie es zuerst importieren und können dann alle zugehörigen Funktionen aufrufen.

Die Methode rename ()

Die Methode rename () akzeptiert zwei Argumente, den aktuellen Dateinamen und den neuen Dateinamen.

Syntax

os.rename(current_file_name, new_file_name)

Beispiel

Es folgt das Beispiel zum Umbenennen einer vorhandenen Datei test1.txt -

#!/usr/bin/python
import os

# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )

Die Methode remove ()

Mit der Methode remove () können Sie Dateien löschen, indem Sie den Namen der zu löschenden Datei als Argument angeben.

Syntax

os.remove(file_name)

Beispiel

Es folgt das Beispiel zum Löschen einer vorhandenen Datei test2.txt -

#!/usr/bin/python
import os

# Delete file test2.txt
os.remove("text2.txt")

Verzeichnisse in Python

Alle Dateien sind in verschiedenen Verzeichnissen enthalten, und Python hat auch keine Probleme damit. Dasos Das Modul verfügt über verschiedene Methoden, mit denen Sie Verzeichnisse erstellen, entfernen und ändern können.

Die Mkdir () Methode

Sie können die mkdir () -Methode von verwendenosModul zum Erstellen von Verzeichnissen im aktuellen Verzeichnis. Sie müssen dieser Methode ein Argument geben, das den Namen des zu erstellenden Verzeichnisses enthält.

Syntax

os.mkdir("newdir")

Beispiel

Im Anschluss an das Beispiel ein Verzeichnis erstellen Test im aktuellen Verzeichnis -

#!/usr/bin/python
import os

# Create a directory "test"
os.mkdir("test")

Die chdir () -Methode

Mit der Methode chdir () können Sie das aktuelle Verzeichnis ändern. Die Methode chdir () verwendet ein Argument. Dies ist der Name des Verzeichnisses, aus dem Sie das aktuelle Verzeichnis erstellen möchten.

Syntax

os.chdir("newdir")

Beispiel

Das folgende Beispiel zeigt das Verzeichnis "/ home / newdir":

#!/usr/bin/python
import os

# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")

Die Methode getcwd ()

Die Methode getcwd () zeigt das aktuelle Arbeitsverzeichnis an.

Syntax

os.getcwd()

Beispiel

Das folgende Beispiel gibt das aktuelle Verzeichnis an:

#!/usr/bin/python
import os

# This would give location of the current directory
os.getcwd()

Die rmdir () -Methode

Die Methode rmdir () löscht das Verzeichnis, das in der Methode als Argument übergeben wird.

Vor dem Entfernen eines Verzeichnisses sollten alle darin enthaltenen Inhalte entfernt werden.

Syntax

os.rmdir('dirname')

Beispiel

Im Folgenden finden Sie ein Beispiel zum Entfernen des Verzeichnisses "/ tmp / test". Es ist erforderlich, den vollständig qualifizierten Namen des Verzeichnisses anzugeben, da sonst im aktuellen Verzeichnis nach diesem Verzeichnis gesucht wird.

#!/usr/bin/python
import os

# This would  remove "/tmp/test"  directory.
os.rmdir( "/tmp/test"  )

Datei- und verzeichnisbezogene Methoden

Es gibt drei wichtige Quellen, die eine Vielzahl von Dienstprogrammmethoden zum Behandeln und Bearbeiten von Dateien und Verzeichnissen unter Windows- und Unix-Betriebssystemen bereitstellen. Sie sind wie folgt -

  • Dateiobjektmethoden : Das Dateiobjekt bietet Funktionen zum Bearbeiten von Dateien.

  • OS-Objektmethoden : Hier finden Sie Methoden zum Verarbeiten von Dateien sowie Verzeichnissen.