Как создать новый текстовый файл с помощью 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')
Ответы
Ответ 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
Есть много других методов, но эти два наиболее распространены. Надеюсь, это помогло!