Wie kann Sie Anhängen, um eine Datei in Python?
Wie Sie "anfügen", um die Datei zu überschreiben? Gibt es eine spezielle Funktion, die an die Datei?
InformationsquelleAutor | 2011-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie "anfügen", um die Datei zu überschreiben? Gibt es eine spezielle Funktion, die an die Datei?
InformationsquelleAutor | 2011-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe bemerkt, dass viele Menschen mit dem
with open(file, "a")
Methode. Ich bin vielleicht altmodisch, aber was ist der Vorteil gegenüberopen(file, "a") ... file.close()
bluewoodtree: Die Vorteile sind ähnlich wie RAII in C++. Wenn Sie vergessen, close(), könnte es eine Weile dauern, bevor die Datei tatsächlich geschlossen. Es ist einfacher, dass Sie vielleicht denken, es zu vergessen, wenn der code hat mehrere Punkte zu beenden, Ausnahmen und so weiter.
print("appended text", file=myfile)
ist auch möglich, für eine bekannte api.Nein.
open()
nicht festutf-8
. Er verwendetlocale.getpreferredencoding(False)
. Passencoding="utf-8"
parameter explizit wenn Sie wissen, dass die Datei verwendet utf-8-Codierung.InformationsquelleAutor Petter
Müssen Sie öffnen Sie die Datei im append-Modus, indem Sie die Einstellung "ein" oder "ab" - Modus. Sehen öffnen Sie().
Beim öffnen der mit "a" - Modus die write-position wird immer werden am Ende der Datei (append). Sie können öffnen Sie mit "+", um das Lesen, suchen, vorwärts und rückwärts gelesen (aber alle schreibt, wird immer noch am Ende der Datei!).
Beispiel:
Hinweis: Mit der 'a' ist nicht das gleiche wie das öffnen mit 'w' und die Suche nach dem Ende der Datei - überlegen, was passieren könnte, wenn ein anderes Programm die Datei geöffnet und angefangen zu schreiben, zwischen dem suchen und dem schreiben. Auf einigen Betriebssystemen, öffnen Sie die Datei mit " a " sichert zu, dass Ihre folgenden schreibt angehängt, atomar an das Ende der Datei (auch wenn die Datei wächst durch andere schreibt).
Ein paar mehr details darüber, wie der "ein" - Modus arbeitet (getestet auf Linux nur). Auch wenn Sie sich nach hinten, jedes schreiben wird Anhängen am Ende der Datei:
In der Tat, die
fopen
manpage Staaten:Alten vereinfachte Antwort (nicht mit
with
):Beispiel: (in einem echten Programm verwenden
with
schließen der Datei - siehe die Dokumentation)braucht man da nicht eine
close()
?sollten Sie verwenden
with
- siehe docs.python.org/2/whatsnew/2.6.html#pep-343-the-with-statementverwenden Sie "test.txt" statt nur "test", wenn Sie schreiben, um eine text-Datei auf windows.
InformationsquelleAutor sinelaw
Ich Tue immer das,
Es ist einfach, aber sehr nützlich.
"a+" ist besser als "a"
Es ist weniger einfach, als die meisten Antworten gepostet, die ein paar Jahre vor diesem, und es ist nicht mehr sinnvoll
Castelijns Seine schön, dass jemand eine alternative zu der mit der syntax, Sie können nicht immer wollen, um zu verwenden, wenn youare mit der variable über mehrere Standorte.
Auch wenn Sie auf der Durchreise sind die
f
variable an andere Funktionen übergeben werden, die gleiche Funktion, die eine Datei öffnet, sollte es schließen. Diewith
syntax ist der bevorzugte Weg, dies zu erreichen.InformationsquelleAutor Seth Connell
Werden Sie wahrscheinlich wollen, um pass
"a"
wie das argument mode. Siehe die Dokumentation für öffnen Sie().Es gibt auch andere Permutationen der das argument im Modus für die Aktualisierung (+), abgeschnitten (B) und Binär (b) - Modus, aber starten nur mit
"a"
ist Ihre beste Wette.file
Schatten eine eingebaute Funktion. Verwenden Sie es nicht für Variablen.ist nicht mehr ein builtin in Python 3. Auch in Python 2 ist, ist es sehr selten genutzt. Das öffnen einer Datei ist eine häufige operation. Es ist ok zu verwenden
file
Namen hier auf beiden Python 2 und 3. Wissen, Wann inkonsistent sein.InformationsquelleAutor istruble
Python hat viele Varianten abseits der Hauptstraße drei Modi, diese drei Modi sind:
So zum Anhängen an eine Datei es ist so einfach wie:
Dann gibt es die Modi, die nur einen code mit weniger Zeilen:
Schließlich gibt es die Modi Lesen und schreiben im Binärformat:
InformationsquelleAutor Cleve Green
wenn wir mit dieser Linie
open(filename, "a")
, dassa
zeigt das anfügen der Datei, die es Ihnen erlauben, sich zu fügen Sie zusätzliche Daten an die vorhandene Datei.Können Sie verwenden Sie einfach diese folgenden Zeilen fügen Sie den text in der Datei
InformationsquelleAutor K.Suthagar
wenn Sie wollen, zum Anhängen an eine Datei
Erklärten wir die variable
myfile
zum öffnen einer Datei mit dem Namentest.txt
. Öffnen Sie nimmt 2 Argumente, die Datei, die wir öffnen möchten, und eine Zeichenfolge, stellt die Art der Genehmigung oder dem Betrieb, wir wollen auf die Dateihier ist der Datei-Modus-Optionen
InformationsquelleAutor nima_moradi
Können Sie auch öffnen Sie die Datei in
r+
- Modus und legen Sie dann die Datei-position bis zum Ende der Datei.Öffnen Sie die Datei in
r+
- Modus lässt Sie schreiben in andere Datei-Positionen neben dem Ende, währenda
unda+
Kraft dem schreiben zu Ende.InformationsquelleAutor Primusa
Hier ist mein script, was im Grunde zählt die Anzahl der Zeilen, dann hängt, dann zählt Sie noch einmal, damit Sie Beweise haben, es funktionierte.
InformationsquelleAutor travelingbones