Hoe een nieuw tekstbestand maken met Python

Ik ben het beoefenen van het management van .txt-bestanden in Python. Ik heb erover gelezen en ontdekte dat als ik probeer een bestand te openen dat nog niet bestaat, het is het op dezelfde map van waaruit het programma wordt uitgevoerd. Het probleem komt dat wanneer ik het probeer te openen, ik krijg deze foutmelding:

IOError: [errno 2] Geen bestand of map:
‘C: \ Users \ MyUSername \ Pycharmprojects \ tests \ copy.txt’.

Ik heb zelfs geprobeerd een pad op te geven zoals je in de fout kunt zien.

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

Antwoord 1, Autoriteit 100%

Het lijkt erop dat u de parameter Mode vergeten bij het bellen van open, probeer w:

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

De standaardwaarde is ren zal falen als het bestand niet bestaat

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

Andere interessante opties zijn

'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

Zie doc voor python2.7 of python3.6

– bewerken –

Zoals chepnerin de onderstaande opmerking aangeeft, is het beter om dit te doen met een withstatement (het garandeert dat het bestand wordt gesloten)

with open("copy.txt", "w") as file:
    file.write("Your text goes here")

Antwoord 2, autoriteit 7%

# 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
    # File closed automatically

Er zijn nog veel meer methoden, maar deze twee komen het meest voor. Ik hoop dat dit heeft geholpen!


Antwoord 3

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 2shush
with open("Path/To/Your/File.txt", "w") as f:   # Opens file and casts as f 
    f.write("Hello World form " + f.name)       # Writing
# File closed automatically

Antwoord 4

   file = open("path/of/file/(optional)/filename.txt", "w") #a=append,w=write,r=read
    any_string = "Hello\nWorld"
    file.write(any_string)
    file.close()

Other episodes