0

我有这段代码,它列出了目录中的文件并用我的函数解析每个文件。

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很陌生,所以如果它是愚蠢的问题,请原谅我。谢谢!

4

1 回答 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:            
于 2013-03-20T21:36:46.027 回答