为什么在Python中打开文件时`os.listdir()`会导致`FileNotFoundError`?
使用 os.listdir 时 Python 中出现文件未找到错误
使用 os.listdir() 迭代目录中的文件可能会触发FileNotFoundError,即使文件存在。发生此错误的原因是 os.listdir() 仅返回文件名,而不是完整路径。
考虑以下代码:
import os path = r'E:/somedir' for filename in os.listdir(path): f = open(filename, 'r')
执行时,此代码将生成 FileNotFoundError文件 'foo.txt',即使它存在于指定目录中。
问题在于 os.listdir() 返回仅文件名部分,例如“foo.txt”。但是,open() 函数需要文件的完整路径,包括目录路径,例如 '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 块也可用于自动关闭文件。
以上是为什么在Python中打开文件时`os.listdir()`会导致`FileNotFoundError`?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

本文讨论了诸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和请求等流行的Python库,并详细介绍了它们在科学计算,数据分析,可视化,机器学习,网络开发和H中的用途

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

在Python中,如何通过字符串动态创建对象并调用其方法?这是一个常见的编程需求,尤其在需要根据配置或运行...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...
