Как создать новый текстовый файл в Python
В этом уроке вы узнаете, как создать новый текстовый файл в Python с помощью функции open().
Функция open() для создания нового текстового файла
Чтобы создать новый текстовый файл, вы используете функцию open(). Функция open() имеет множество параметров. Однако мы сосредоточимся на первых двух параметрах:
f = open(path_to_file, mode)
В этом синтаксисе параметр path_to_file указывает путь к текстовому файлу, который вы хотите создать.
Для создания нового текстового файла вы можете использовать один из следующих режимов:
- ‘w’ – открыть файл для записи. Если файл не существует, функция open() создает новый файл. В противном случае содержимое существующего файла будет перезаписано.
- ‘x’ – открыть файл для эксклюзивного создания. Если файл существует, функция open() выдает ошибку (FileExistsError). В противном случае будет создан текстовый файл.
Например, следующая команда создает новый файл с именем readme.txt и записывает в него текст:
with open('readme.txt', 'w') as f: f.write('Create a new text file!')
Этот сценарий создает файл с именем readme.txt в том же каталоге, где находится файл сценария. Если вы хотите создать файл в указанном каталоге, например, docs/readme.text, вам необходимо убедиться, что каталог docs существует, прежде чем создавать файл. В противном случае вы получите исключение. Например:
with open('docs/readme.txt', 'w') as f: f.write('Create a new text file!')
Ошибка:
FileNotFoundError: [Errno 2] No such file or directory: 'docs/readme.txt'
В этом примере Python генерирует исключение, поскольку каталога документации не существует. Поэтому не удалось создать файл readme.txt в этом каталоге. Чтобы решить эту проблему, вам необходимо сначала создать каталог документов, а затем создать в этой папке файл readme.txt.
Кроме того, вы можете обработать исключение, используя оператор try-Exception следующим образом:
try: with open('docs/readme.txt', 'w') as f: f.write('Create a new text file!') except FileNotFoundError: print("The 'docs' directory does not exist")
Выход:
The 'docs' directory does not exist
Если вы не хотите создавать новый текстовый файл, если он уже существует, вы можете использовать режим «x» при вызове функции open():
with open('readme.txt', 'x') as f: f.write('Create a new text file!')