我有这个代码,它列出了目录中的文件,并用我的函数解析每个文件。
paths = []
for filename in os.listdir(r"C:\Program Files (x86)\Folder\Folder"):
with open(filename) as f:
paths.append(parse_file(f))
我收到错误:
File "find.py", line 21, in <module>
with open(filename) as f:
IOError: [Errno 2] No such file or directory: 'file.txt'
此错误显示它看到file.txt
,因为它存在于我在os.listdir
中指定的文件夹中,我在那里有更多文件。如果我删除file.txt
,则会在其他文件上显示错误。
我还尝试将文件移动到桌面上的目录中,脚本运行正常。
我不明白的问题是什么。我是python的新手,请原谅我这个愚蠢的问题。谢谢!
答案 0 :(得分:4)
os.listdir()
返回文件名,而非路径。使用目录名称加入它们以创建绝对路径:
path = r"C:\Program Files (x86)\Folder\Folder"
for filename in os.listdir(path):
with open(os.path.join(path, filename)) as f: