Python 3 - Datei-E / A.

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

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/python3

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 2 verfügt über zwei integrierte Funktionen zum Lesen von Daten aus Standardeingaben, die standardmäßig von der Tastatur stammen. Diese Funktionen sindinput() und raw_input()

In Python 3 ist die Funktion raw_input () veraltet. Darüber hinaus lesen input () -Funktionen Daten von der Tastatur als Zeichenfolge, unabhängig davon, ob sie in Anführungszeichen ('' oder "") eingeschlossen sind oder nicht.

Die Eingabefunktion

Das input([prompt]) Die Funktion entspricht raw_input, setzt jedoch voraus, dass die Eingabe ein gültiger Python-Ausdruck ist, und gibt das ausgewertete Ergebnis an Sie zurück.

#!/usr/bin/python3

>>> x = input("something:")
something:10

>>> x
'10'

>>> x = input("something:")
something:'10' #entered data treated as string with or without ''

>>> x
"'10'"

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. Modus & 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 ein 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.

Note - Das Softspace-Attribut wird in Python 3.x nicht unterstützt

Beispiel

#!/usr/bin/python3

# 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)
fo.close()

Dies ergibt das folgende Ergebnis:

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

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/python3

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

# Close opened 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 es benutztread() und write() Methoden zum Lesen und Schreiben von Dateien.

Die write () -Methode

Das 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/python3

# Open a file
fo = open("foo.txt", "w")
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 den folgenden Inhalt:

Python is a great language.
Yeah its great!!

Die read () -Methode

Das 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/python3

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

# Close opened 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. DasoffsetArgument gibt die Anzahl der zu verschiebenden Bytes an. Dasfrom Argument gibt die Referenzposition an, von der aus die Bytes verschoben werden sollen.

Wenn from auf 0 gesetzt ist, wird der Anfang der Datei als Referenzposition verwendet. Wenn es auf 1 gesetzt ist, wird die aktuelle Position als Referenzposition verwendet. Wenn es 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/python3

# 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 opened 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 ()

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

Syntax

os.rename(current_file_name, new_file_name)

Beispiel

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

#!/usr/bin/python3
import os

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

Die Methode remove ()

Du kannst den ... benutzen remove() Methode zum Löschen von Dateien durch Angabe des Namens der zu löschenden Datei als Argument.

Syntax

os.remove(file_name)

Beispiel

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

#!/usr/bin/python3
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

Du kannst den ... benutzen mkdir() Methode der osModul 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

Es folgt ein Beispiel zum Erstellen eines Verzeichnisses Test im aktuellen Verzeichnis -

#!/usr/bin/python3
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

Im Folgenden finden Sie ein Beispiel für das Verzeichnis "/ home / newdir".

#!/usr/bin/python3
import os

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

Die Methode getcwd ()

Das getcwd() Methode zeigt das aktuelle Arbeitsverzeichnis an.

Syntax

os.getcwd()

Beispiel

Das folgende Beispiel gibt ein aktuelles Verzeichnis an:

#!/usr/bin/python3
import os

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

Die rmdir () -Methode

Das rmdir() Methode löscht das Verzeichnis, das als Argument in der Methode ü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/python3
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 file Objekt bietet Funktionen zum Bearbeiten von Dateien.

  • OS-Objektmethoden

    Dies bietet Methoden zum Verarbeiten von Dateien sowie Verzeichnissen.