在Python读取目录文件时出现“没有这样的文件或目录”错误

0 投票
1 回答
1406 浏览
提问于 2025-04-17 19:48

我有一段代码,它可以列出目录里的文件,并用我的函数处理每一个文件。

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:            

撰写回答