我的讲师提供了以下代码,但从命令行运行时,它无法在OS X上运行。
file_name = 'data/' + raw_input('Enter the name of your file: ') + '.txt'
fout = open(file_name, 'w')
错误讯息:
Traceback (most recent call last):
File "write_a_poem_to_file.py", line 12, in <module>
fout = open(file_name, 'w')
IOError: [Errno 2] No such file or directory: 'data/poem1.txt'
在我上课并做了一些研究之前,我一直在编写Python,它认为你需要导入os模块来创建一个目录。
然后,您可以指定要在该目录中创建文件。
我相信您可能还需要在访问文件之前切换到该目录。
我可能错了,我想知道我是否错过了另一个问题。
答案 0 :(得分:1)
如@Morgan Thrapp在评论中所述,open()
方法不会为您创建文件夹。
如果文件夹/data/
已经存在,它应该可以正常工作。
否则您必须check if the folder exists
,如果没有,则create the folder.
import os
if not os.path.exists(directory):
os.makedirs(directory)
所以..你的代码:
file_name = 'data/' + raw_input('Enter the name of your file: ') + '.txt'
fout = open(file_name, 'w')
成为这样的东西:
import os
folder = 'data/'
if not os.path.exists(folder):
os.makedirs(folder)
filename = raw_input('Enter the name of your file: ')
file_path = folder + filename + '.txt'
fout = open(file_path, 'w')
答案 1 :(得分:0)
检查文件夹&#34;数据&#34;不存在。如果不存在,则必须创建它:
import os
file_name = 'data/' + raw_input('Enter the name of your file: ') + '.txt'
if not os.path.exists('data'):
os.makedirs('data')
fout = open(file_name, 'w')