os.listdir 返回的文件名出现 FileNotFoundError
在 Python 中,当使用 os.listdir 迭代目录中的文件时,您可能会遇到以下情况:尽管文件存在,但遇到 FileNotFoundError。
原因:
os.listdir 仅返回文件名(例如“foo.txt”),而不返回完整路径(例如,'E:/somedir/foo.txt')。打开文件时,需要完整路径。
解决方案:
使用 os.path.join 在文件名前添加目录路径:
import os path = r'E:/somedir' for filename in os.listdir(path): with open(os.path.join(path, filename)) as f: ... # process the file
此外,使用 with 块可确保文件自动关闭。
以上是为什么在 Python 中使用 os.listdir 时出现 FileNotFoundError?的详细内容。更多信息请关注PHP中文网其他相关文章!