在Python读取目录文件时出现“没有这样的文件或目录”错误
我有一段代码,它可以列出目录里的文件,并用我的函数处理每一个文件。
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还很陌生,如果这个问题很傻,请多包涵。谢谢!
1 个回答
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: