Ошибка при создании нового текстового файла с помощью python?
Эта функция не работает и вызывает ошибку. Нужно ли мне изменять какие-либо аргументы или параметры?
import sys
def write():
print('Creating new text file')
name = input('Enter name of text file: ')+'.txt' # Name of text file coerced with +.txt
try:
file = open(name,'r+') # Trying to create a new file or open one
file.close()
except:
print('Something went wrong! Can\'t tell what?')
sys.exit(0) # quit Python
write()
Ответы
Ответ 1
Если файл не существует, open(name,'r+')
завершится с ошибкой.
Вы можете использовать open(name, 'w')
, который создает файл, если файл не существует, но он обрезает существующий файл.
В качестве альтернативы вы можете использовать open(name, 'a')
; это создаст файл, если файл не существует, но не будет обрезать существующий файл.
Ответ 2
после script будет использоваться для создания любого типа файла, с пользовательским вводом как расширение
import sys
def create():
print("creating new file")
name=raw_input ("enter the name of file:")
extension=raw_input ("enter extension of file:")
try:
name=name+"."+extension
file=open(name,'a')
file.close()
except:
print("error occured")
sys.exit(0)
create()
Ответ 3
вместо использования блоков try-except, вы можете использовать, если else
это не будет выполняться, если файл не существует, открытый (имя, 'г +')
if os.path.exists('location\filename.txt'):
print "File exists"
else:
open("location\filename.txt", 'w')
'w' создает файл, если его не-exis
Ответ 4
Это работает отлично, но вместо
name = input('Enter name of text file: ')+'.txt'
вы должны использовать
name = raw_input('Enter name of text file: ')+'.txt'
вместе с
open(name,'a') or open(name,'w')
Ответ 5
Вы можете использовать функцию os.system для простоты:
import os
os.system("touch filename.extension")
Это вызывает системный терминал для выполнения задачи.
Ответ 6
import sys
def write():
print('Creating new text file')
name = raw_input('Enter name of text file: ')+'.txt' # Name of text file coerced with +.txt
try:
file = open(name,'a') # Trying to create a new file or open one
file.close()
except:
print('Something went wrong! Can\'t tell what?')
sys.exit(0) # quit Python
write()
это сработает.)
Ответ 7
Вы можете использовать open(name, 'a')
Однако, когда вы вводите имя файла, используйте обратные запятые с обеих сторон, иначе ".txt"
не может быть добавлено в имя файла