So öffnen und Bearbeiten Sie eine vorhandene Datei in Python?
Habe ich gearbeitet für eine Weile jetzt auf eine Vielzahl von verschiedenen Programmen zu üben, meine Python, die bemerkenswertesten sind meine choose-your-own-Abenteuer-Spiel, das nun über 1000 Zeilen hat, so weit. Kürzlich habe ich schon versucht zu Bearbeiten, Dateien in Python, und ich kann nicht scheinen, um es herauszufinden. Zum Beispiel, wenn ich eine variable auf eine Benutzereingabe, etwa so:
input1 = raw_input("What is your favorite food?")
Dann, sagen wir, ich wollen speichern Sie diesen text in ein .txt-Datei, die bereits vorhanden ist, wie food.txt
. Wie soll ich das tun?
"Ich habe versucht, Sie zu Bearbeiten von Dateien in Python ..." - so können Sie zeigen, was code, den Sie haben, und warum es nicht funktioniert.
Möchten Sie fügen Sie die neuen Inhalte?
Möchten Sie fügen Sie die neuen Inhalte?
InformationsquelleAutor Elle Nolan | 2014-12-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
diese link vielleicht wird helfen,
den code wie
'w'
- Modus ist nicht eine gute Idee, Sie verlieren den Inhalt Ihrer Datei.also, sollte "ein" - Modus ?
Ich bin mir nicht sicher, ob das, was der OP will, genau das zu tun (die Frage ist nicht super klar), aber 'a' - Modus ist sicherer als der 'w', weil zumindest werden Sie nicht verlieren die bestehenden Inhalte.
Ja, einverstanden, danke !, Ich werde die Antwort Bearbeiten
Ich habe versucht, aber wenn ich überprüft, die pass.txt Datei war es noch leer.
InformationsquelleAutor liuzhidong
Den
open()
eingebauten Python-Methode (doc) verwendet in der Regel zwei Argumente: die Datei Pfad und die Modus. Sie haben drei Haupt-Modi (am meisten verwendet):r
,w
unda
.r
steht für Lesen und dieopen("/path/to/myFile.txt", 'r')
um eine vorhandene Datei zu öffnen und zu nur in der Lage sein, es zu Lesen (nicht Bearbeiten), mitmyFile.readlines()
oder andere Methoden finden Sie in diese Dokumentation.w
steht für schreiben und nicht nur alles löschen der Datei hatte (wenn es existiert), aber Sie schreiben neue Sachen auf, die es durchmyFile.write("stuff I want to write")
.a
steht für Anhängen und Inhalte hinzufügen, um eine vorhandene Datei ohne löschen, was geschrieben werden könnte. Das ist das argument, die Sie verwenden sollten beim hinzufügen von Linien, um nicht mit leeren Dateien.Müssen Sie nicht vergessen, die Datei zu schließen, wenn Sie fertig arbeiten mit
myFile.close()
weil es nur an diesem Punkt, wo alle Veränderungen, updates, Schriften, sind Sie fertig.Einen kleinen Schnipsel zum hinzufügen einer Zeile:
Wenn Sie den Inhalt der Datei waren so etwas wie
Dann die Datei nach dem code, sieht aus wie
InformationsquelleAutor tomasyany
Öffnen einer Datei mit dem Namen food.txt
Zu schreiben, als eine neue Zeile ein:
entfernen \n-wenn Sie möchten, dass es auf der gleichen Linie.
Lesen Sie tun können, zum Beispiel
Wenn Sie Anhängen wollen:
vielleicht solltest du nicht so voreilig mit den down-vote das nächste mal. öffnen Sie es mit dem argument 'a' ist, erlaubte mir, ändern Sie die text-Datei. Vielleicht möchten Sie erklären, wie das funktioniert, wenn mein Verständnis falsch ist? Beispiel für Sie - ich habe gezeigt, dass man es getan werden kann, die mit "a", und erstellen Sie es neu/öffnen neue Datei getan werden kann, mit 'w'. Ich sehe nicht ein, warum würden Sie downvote mich.
Könnte Sie entfernen die downvote bitte? Da Sie offensichtlich nicht gelesen hatte die ganze Antwort.
Ja, 'a' - Modus ist OK, aber der 'w' - Modus ist nicht. OP sagt in Ihrer Frage, dass Sie bereits eine Datei namens food.txt wenn Sie den Versuch gestartet, aus Ihrem code könnten Sie verloren haben, den Inhalt Ihrer Datei.
Nicht versuchen, Ihnen einen Vortrag halten über "ein' vs 'w' - Modus, mein Punkt ist, dass wenn die OP nicht so vertraut mit diesem Zeug, wie Sie, Sie könnten versuchen, führen Sie Ihre erste Linie und verlieren Ihre Datei, die Sie warnen sollte, wenn die potenziell "gefährlichen" code samples zu Menschen noch lernen, code.
InformationsquelleAutor CyanogenCX
deine Frage ist ein bisschen unklar, aber wenn Sie sind auf der Suche nach einer Möglichkeit zum speichern Werte zur späteren Verwendung und einfache retrieval; möchten Sie vielleicht zu prüfen,ConfigParser. 🙂
InformationsquelleAutor Kamyar Ghasemlou
Finde ich schön-Modul für diese Aufgabe - in_place, Beispiel für Python 3:
InformationsquelleAutor Alexey Shrub