我有一些代码用于:创建一个新目录;要求用户输入一些文本放入文件中;创建文件;将文件名和路径连接在一起,然后将translated
中的文本写入文件。但是当我运行下面的代码时,我得到了
with open(new_file, 'a') as f:
TypeError: invalid file: <_io.TextIOWrapper name='C:\\Downloads\\Encrypted Messages\\hi' mode='w' encoding='cp1252'>
import os
import os.path
import errno
translated = str(input("Please enter your text"))
encpath = r'C:\Downloads\Encrypted Messages'
def make_sure_path_exists(encpath):
try:
os.makedirs(encpath)
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
name = str(input("Please enter the name of your file "))
fullpath = os.path.join(encpath, name)
new_file = open(fullpath, 'w')
with open(new_file, 'a') as f:
f.write(translated + '\n')
我也试过
import os
import os.path
import errno
translated = "Hello World"
encpath = r'C:\Downloads\Encrypted Messages'
if not os.path.exists(encpath):
os.makedirs(encpath)
name = str(input("Please enter the name of your file "))
fullpath = os.path.join(encpath, name)
new_file = open(fullpath, 'w')
with open(new_file, 'a') as f:
f.write(translated + '\n')
我正在使用Python 3.5.0,以防你想知道。
编辑:我已将encpath
重命名为r'C:\Downloads\EncryptedMessages'
并收到新错误:FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Downloads\\EncryptedMessages\\justatest'
答案 0 :(得分:1)
以下代码适用于我 - USE raw_input
我在2.7
import os
import os.path
import errno
translated = "Hello World"
encpath = r'C:\Downloads\Encrypted Messages'
if not os.path.exists(encpath):
os.makedirs(encpath)
name = str(raw_input("Please enter the name of your file "))
fullpath = os.path.join(encpath, name)
new_file = open(fullpath, 'w')
with open(fullpath, 'a') as f:
f.write(translated + '\n')
f.close()