Подтвердить что ты не робот

Как создать новый текстовый файл с помощью Python

Я занимаюсь управлением файлами.txt в python. Я читал об этом и обнаружил, что если я попытаюсь открыть файл, который еще не существует, он создаст его в том же каталоге, откуда выполняется программа. Проблема заключается в том, что когда я пытаюсь ее открыть, я получаю эту ошибку:

IOError: [Errno 2] Нет такого файла или каталога: 'C:\Users\myusername\PycharmProjects\Tests\copy.txt'.

Я даже попытался указать путь, как вы можете видеть в ошибке.

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

Ответ 1

Похоже, вы забыли параметр режима при вызове open, попробуйте w:

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

Значение по умолчанию - r и не будет выполнено, если файл не существует.

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

Другие интересные варианты:

'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

См. Doc для Python2.7 или Python3.6

-- РЕДАКТИРОВАТЬ --

Как указано chepner в комментарии ниже, лучше сделать это с помощью инструкции with (это гарантирует, что файл будет закрыт)

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

Ответ 2

# 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

Есть много других методов, но эти два наиболее распространены. Надеюсь, это помогло!