it-swarm.com.de

So erstellen Sie eine neue Textdatei mit Python

Ich übe die Verwaltung von .txt-Dateien in Python. Ich habe darüber gelesen und festgestellt, dass ich, wenn ich versuche, eine Datei zu öffnen, die noch nicht existiert, sie im selben Verzeichnis erstellt, in dem das Programm ausgeführt wird. Das Problem ist, dass ich beim Versuch, es zu öffnen, folgende Fehlermeldung bekomme:

IOError: [Errno 2] Keine solche Datei oder Verzeichnis: "C:\Benutzer\Benutzername\PycharmProjects\Tests\copy.txt". 

Ich habe sogar versucht, einen Pfad anzugeben, wie Sie im Fehler sehen können.

import os
THIS_FOLDER = os.path.dirname(os.path.abspath(__file__))
my_file = os.path.join(THIS_FOLDER, 'copy.txt')
5
Just Half

Sieht aus, als hätten Sie beim Aufruf von open den Parameter mode vergessen, versuchen Sie w:

file = open("copy.txt", "w") 
file.write("Your text goes here") 
file.close() 

Der Standardwert ist r und schlägt fehl, wenn die Datei nicht vorhanden ist

'r' open for reading (default)
'w' open for writing, truncating the file first

Andere interessante Optionen sind 

'x' open for exclusive creation, failing if the file already exists
'a' open for writing, appending to the end of the file if it exists

Siehe Doc für Python2.7 oder Python3.6

- EDIT - 

Wie von chepner im nachstehenden Kommentar angegeben, ist es besser, dies mit einer withstatement zu tun (dies garantiert, dass die Datei geschlossen wird)

with open("copy.txt", "w") as file:
    file.write("Your text goes here")
21
Bentaye
# Method 1
f = open("Path/To/Your/File.txt", "w")   # 'r' for reading and 'w' for writing
f.write("Hello World from " + f.name)    # Write inside file 
f.close()                                # Close file 

# Method 2
with open("Path/To/Your/File.txt", "w") as f:   # Opens file and casts as f 
    f.write("Hello World form " + f.name)       # Writing
    f.close()                                   # Close file

Es gibt viele weitere Methoden, aber diese beiden sind am häufigsten. Hoffe das hat geholfen!

0
Tit Poplatnik