Python 为 os.listdir 返回的文件名引发 FileNotFoundError [重复]

2023-12-13

我试图迭代目录中的文件,如下所示:

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'因为当前目录中不存在该文件。

Use 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块会自动处理它)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 为 os.listdir 返回的文件名引发 FileNotFoundError [重复] 的相关文章

随机推荐

  • 在 SystemVerilog 中 fork join_none 后仅等待一些线程完成

    在 SystemVerilog 中 我需要等待在 fork join none 结构内执行的一些线程完成 但是在另一个 fork join none 结构中还有另一个永远不会结束的进程 我的代码如下所示 fork process that
  • 想要生成自定义唯一密钥并同时处理多个请求

    我在 sql 数据库服务器中有一个如下表 其中包含 varchar 列 并使用 linq to 实体以编程方式将其维护为自定义唯一键 我正在从数据库中提取数据并进行拆分 增量和保存 但我想知道当多个请求同时出现时会发生什么 这可能会导致我的
  • ASP.NET Web 表单中的 jQuery 自动完成功能?

    有人使用 jQuery 通过 ASP NET Web 表单填充文本框上的自动完成列表吗 如果可以的话 谁能推荐一个好的方法吗 从我到目前为止的阅读来看 似乎大多数人都使用分隔列表而不是 JSON 来带回项目 我愿意接受任何能让我快速启动并运
  • BETWEEN 与日期实际上在 SQL SERVER 2008 中有效吗

    根据cdonner 在他的回答中here和他的blog 他声称 BETWEEN 与日期会产生不一致的结果 来自他的博客 select case when 9 1 08 between 9 1 08 and 9 15 08 then in e
  • 如何在 MySQL 中按 SUM() 进行排序?

    我有一个表 ID名称c counts f counts 我想按以下方式订购所有记录sum c counts f counts 但这不起作用 SELECT FROM table ORDER BY sum c counts f counts L
  • 如何获取特定命名空间内的所有类名?

    我想获取命名空间内的所有类 我有这样的事情 File MyClass1 php namespace MyNamespace class MyClass1 File MyClass2 php namespace MyNamespace cla
  • 注册表单唯一电子邮件

    我在用django inspectional registration这是基于官方的django registration 我想确保用户电子邮件字段的唯一性 但我在使用时 url r register RegistrationView as
  • 在 PyQt GUI 中集成 QPainter

    我试图在一个布局中使用 QPainter 制作的对象以及 PyQt 的本机小部件 但这样做很困难 我尝试过使用addWidget 将其添加到布局中但没有运气 class window QWidget def init self super
  • Newtonsoft Json.Net 序列化 JObject 不会忽略空值,即使设置正确

    我正在尝试使用 Newtonsoft Json Net 序列化一个对象 这个对象是一个匿名类型 里面充满了很多异构的东西 主要是常规的 POCO 但也有一些JObjects or JArrays 问题是当添加NullValueHandlin
  • JS URI 中的 Javascript 变量范围,或者如何编写页面范围对象?

    我正在编写一个 Greasemonkey 脚本 尝试在 Chrome 和 Firefox 中使用 我知道你不能使用unsafewindow在 Chrome 中就像在 Firefox 中一样 所以我一直在尝试使用 jS uris 就像在答案中
  • JavaScript 中的按位 & 运算符

    我不明白为什么只有 num1 会打印输出 而它们都应该打印 我在这里错过了什么吗 var num1 0x200127 var num2 0x200124 if num1 0x100 0x100 console log num1 num1 0
  • 必须在sql server动态sql中声明标量变量

    我在运行 sql server 存储过程时遇到问题 我用的是动态sql 我收到错误 必须声明标量变量 EmployeeId SQL查询 ALTER PROCEDURE dbo GetLeaveDays Add the parameters
  • 如何在 Windows 10 中创建 .gitignore 文件 [重复]

    这个问题在这里已经有答案了 我尝试使用以下命令在存储库的根目录中创建 gitignore 文件 touch gitginore 在 Git Bash 中 但是当我从 Windows 资源管理器查看该文件时 它说这是一个文本文档 不是应该是这
  • 在 Ionic 2 中隐藏子页面中的选项卡[重复]

    这个问题在这里已经有答案了 我尝试隐藏应用程序中所有子页面上的选项卡 我用这个
  • 如何在 MySQL 的日期时间字段中存储 NULL 值?

    我有一个 bill date 字段 我希望在计费之前将其保留为空白 NULL 此时将输入日期 我发现 MySQL 不喜欢日期时间字段中的 NULL 值 你们中有人有一个简单的方法来处理这个问题 还是我被迫使用最短日期作为 NULL 等效项
  • 在 ViewPager 中将一个 Fragment 替换为另一个 Fragment

    当我尝试更换时遇到一些问题Fragment与另一个在ViewPager 现在的情况 我有一个ViewPager有3页 每页都是一个Fragment 在第一页中 我有一个ListView里面一个ListFragment FacturasFra
  • Java7u40 中的 javax.swing.Timer 速度变慢

    同时调用javax swing Timer start 7u25没问题 但7u40是个大问题 调用 ActionListener actionPerformed 太慢 基本上同时调用u25 u25 和 u40 之间的动作完全不同 我使用的是
  • Android 多数据库开放

    我正在为 Android 制作一个 IM 客户端 并且正在使用数据库来存储联系人和其他信息 在我的应用程序中 我有一项活动和一项服务 我需要在服务和活动上同时打开三个数据库 我使用三个数据库 因为我希望数据库更容易管理 而不会出现写入同步的
  • 关于多组件依赖的uipickerview的实现

    我无法理解多组件 uipickerviews 的概念 我真的很想拥有这个主题 我想制作一个 4 组件选择器视图 其中的组件相互依赖 第一个组件是从我的数据库中的数组填充的 并且显示得很好 我在数组中拥有所有可用的其他信息 但我只是对我的 p
  • Python 为 os.listdir 返回的文件名引发 FileNotFoundError [重复]

    这个问题在这里已经有答案了 我试图迭代目录中的文件 如下所示 import os path r E somedir for filename in os listdir path f open filename r process the