gpt4 book ai didi

Python 为 os.listdir 返回的文件名引发 FileNotFoundError

转载 作者:太空狗 更新时间:2023-10-30 01:14:38 39 4
gpt4 key购买 nike

我试图像这样遍历目录中的文件:

import os

path = r'E:/somedir'

for filename in os.listdir(path):
f = open(filename, 'r')
... # process the file

但是 Python 抛出 FileNotFoundError 即使文件存在:

Traceback (most recent call last):
File "E:/ADMTM/TestT.py", line 6, in <module>
f = open(filename, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'foo.txt'

那么这里有什么问题呢?

最佳答案

是因为os.listdir不返回文件的完整路径,只返回文件名部分;即'foo.txt',打开时需要'E:/somedir/foo.txt',因为当前目录中不存在该文件。

使用os.path.join将目录添加到您的文件名中:

path = r'E:/somedir'

for filename in os.listdir(path):
with open(os.path.join(path, filename)) as f:
... # process the file

(此外,您没有关闭文件;with block 将自动处理它)。

关于Python 为 os.listdir 返回的文件名引发 FileNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28799353/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com