Ich werde die Grundkenntnisse zum Bearbeiten von Dateien mit Python zusammenfassen.
Ziel: Für diejenigen, die Python gelernt haben Betriebsumgebung: Python3.8.3 (Betriebssystem ist MacOS)
f = open("filename", "mode")
mode | Erläuterung |
---|---|
r | Lesemodus. |
w | Überschreibmodus. Verwerfen Sie den vorhandenen Inhalt. |
a | Nachtragsmodus. Am Ende der Datei hinzufügen. |
x | Schreibmodus zum Erstellen neuer Dateien. Wenn die Datei vorhanden ist, wird ein Fehler zurückgegeben und es wird nicht geschrieben. |
r+ | Lese- / Schreibmodus. |
Wenn es weggelassen wird, wird es als "r" behandelt.
Sie kann in Kombination mit dem obigen "Modus" angegeben werden.
mode | Erläuterung |
---|---|
t | Textmodus. Der Standardmodus für die offene Methode. Ändern Sie den Zeilenvorschubcode vom plattformspezifischen Symbol in "\In "n" konvertieren. |
b | Binärmodus. Es wird empfohlen, den Binärmodus mit Ausnahme von Textdateien zu verwenden. |
Das Schlüsselwort with schließt das Dateiobjekt immer, sodass es einfacher zu schreiben ist, als es mit try ~ finally zu implementieren.
with open("filename") as f:
f.read()
f.read(size)
>>>f.read(10)
'Hello Pyth'
f.readline()
>>> f.readline()
'Hello Python\n'
--Dateien können für die Schleifenverarbeitung effizient gelesen werden.
>>> for line in f:
... print(line, end='')
...
Hello Python
Hello Java
Hello Ruby
f.write(string)
>>> with open("sample.txt", "w") as f:
... f.write("Japan\n")
... f.write("USA\n")
... f.write("China\n")
...
6
4
6
>>> with open("sample.txt", "r") as f:
... f.read()
...
'Japan\nUSA\nChina\n'
f.tell()
Gibt eine Ganzzahl zurück, die den aktuellen Speicherort der Datei angibt.
Geben Sie "0" zurück, wenn die aktuelle Position die erste ist
>>> with open("sample.txt", "r") as f:
... f.tell()
...
0
――Das Lesen von 5 Bytes verschiebt die aktuelle Position
>>> with open("sample.txt", "r") as f:
... f.read(5)
... f.tell()
...
'Japan'
5
f.seek(offset, whence)
--Berechnen Sie die Dateiposition, indem Sie den Versatzwert (Versatz) zum Referenzpunkt hinzufügen (woher).
>>> with open("sample.txt", "rb+") as f:
... f.write(b"0123456789abcdef")
... f.seek(3) #3 Bytes von Anfang an
... f.read(1)
... f.seek(-1,2) #1 Byte vom Ende entfernt
... f.read(1)
...
16
3
b'3'
15
b'f'
Diesmal war es der grundlegende Inhalt der Grundlagen. Als nächstes möchte ich mein Verständnis für den Umgang mit CSV und JSON vertiefen (die Bibliothek wird bereitgestellt).
Recommended Posts