与 os.scandir() 引发 AttributeError: __exit__

2024-01-19

An AttributeError当我使用 python 文档中的示例代码时引发(here https://docs.python.org/3/library/os.html#os.scandir)。示例代码如下:

with os.scandir(path) as it:
    for entry in it:
        if not entry.name.startswith('.') and entry.is_file():
            print(entry.name)

结果是AttributeError:

D:\Programming>test.py
Traceback (most recent call last):
  File "D:\Programming\test.py", line 3, in <module>
    with os.scandir() as it:
AttributeError: __exit__

虽然,分配os.scandir()到一个变量工作正常。 有人可以告诉我我错过了什么吗?


添加了上下文管理器支持Python 3.6,尝试将它与以前的版本一起使用会引发您看到的错误,因为它不是上下文管理器(并且Python尝试加载__exit__ first).

这是在其文档中说明的 https://docs.python.org/3/library/os.html#os.scandir (就在下面您看到的代码片段)scandir:

3.6 版新增内容:添加了对上下文管理器协议的支持close()方法。 [...]

(Emphasis mine)

您可以更新到 Python 3.6,如果不能,请不要将其用作上下文管理器。

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

与 os.scandir() 引发 AttributeError: __exit__ 的相关文章

随机推荐

  • Mathematica 中的树数据结构

    我主要使用mathematica 作为数学工作台和编写相对较小的临时程序 然而 我正在设计一个系统 打算在 Mathematica 中编程 我需要将数据存储在树中 并搜索和遍历树 尽管我知道如何实现树 但我更喜欢标准的 经过测试的代码 我在
  • Spring:正确设置@ComponentScan

    我为我的设置进行了以下设置Spring Application Context Configuration public class RmiContext Bean public RmiProxyFactoryBean service Rm
  • 可空类型“int”的默认值是多少? (包括问号)?

    在C 中 类型的类实例变量的默认值是多少int 例如 在下面的代码中 什么值将MyNullableInt如果从未明确分配的话有吗 class MyClass public int MyNullableInt 看来答案几乎肯定是null or
  • 无法删除表用户,因为其他对象依赖于它

    我想将我的表删除到数据库中 但是 当我使用时 例如 DROP TABLE if exists users 我收到这条消息 cannot drop table users because other objects depend on it
  • Laravel 路由不调用控制器的功能

    我在页面 刀片 中有一个表单 它重定向到一个路由 该路由要调用控制器中的函数 但它甚至不会进入函数内部 因为即使是简单的 dd 不能被执行 在途中 如果我更改为 Route post edit profile function Reques
  • 无法使用自定义样式编织为 pdf

    尝试使用自定义 mystyles sty 文件从 RStudio 编织为 pdf 这曾经工作正常 但现在我已经升级到 RStudio 1 044 我收到错误 Example title Test output pdf document in
  • 分析(可能受 I/O 限制)进程以减少延迟

    我想提高大型应用程序中特定方法的性能 目标是改善延迟 特定功能所花费的挂钟时间 而不是 必然 系统负载 要求 由于我预计大部分延迟是由 I O 造成的 因此请考虑等待 阻塞所花费的时间 换句话说 查看挂钟时间而不是 CPU 时间 由于该程序
  • 已解析的依赖项中存在不兼容的版本

    我正在尝试运行我的 python 项目 该项目似乎在我的 Mac 上运行良好 在 pycharm 中最好 不太好 但可以在 VSCode 中运行 但在 VSCode 中的树莓派上运行得很糟糕 每当我运行pipenv shell然后一个pip
  • StepFunction 的 Choice 规则检查数组字段是否为空

    有没有办法在 Step Function 中创建选择规则来确定数组字段是否有元素 当前 StepFunction 文档 https docs aws amazon com step functions latest dg amazon st
  • 在 C 和 C++ 中 main() 应该返回什么?

    定义的正确 最有效 方法是什么main C 和 C 中的函数 int main or void main 为什么 那么论点又如何呢 如果int main then return 1 or return 0 返回值为main指示程序如何退出
  • 使用蓝牙在其他 iOS 设备上拍照

    如果有 iOS 蓝牙经验的人可以向我展示如何使用蓝牙类在其他 iOS 设备上拍照 我将不胜感激 该应用程序允许用户登录 注册 然后拍摄并上传照片 http www raywenderlich com 13511 how to create
  • 使用 PHP 将特殊字符转换为普通字符,例如将 ã、é、ç 转换为 a、e、c [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想使用 PHP 将特殊字符转换为普
  • UNIX 命令 mv 和 rm 如何处理打开的文件?

    如果我正在读取存储在 NTFS 文件系统上的文件 并且尝试在读取该文件时移动 重命名该文件 我将无法这样做 如果我在 UNIX 文件系统 例如 EXT3 上尝试此操作 它会成功 并且执行读取的进程不受影响 我什至可以 rm 文件并且读取过程
  • 有没有办法保护Python eval 的字符串?

    关于使用Python的eval有很多问题不安全的字符串 eg Python eval 在不受信任的字符串上的安全性 https stackoverflow com questions 661084 security of pythons e
  • 比较序言中两个列表的内容

    我正在做一些家庭作业 但我被困在一个点上 我得到了一些这样的事实 word h e l lo word m a n word w o m a n etc 我必须制定一条规则 以便用户输入一个字母列表 我应该将该列表与我拥有的单词进行比较并纠
  • 如何生成重复字符的排列

    我基本上想创建由三个操作符号组成的字符串 例如 or or 这些字符串中的每一个都应该被推入vector
  • 将 Rails 中的日期时间字符串转换为 UTC

    我有一个像这样的字符串 2010 01 01 12 30 00 我需要将当前本地时区转换为 UTC 我尝试了这个 但似乎认为该字符串已经是 UTC 2010 01 01 12 30 00 to datetime in time zone C
  • MVC4 通过 Ajax.BeginForm 传递模型

    我尝试过遵循一些好帖子 https stackoverflow com questions 5410055 using ajax beginform with asp net mvc 3 razor在这里让它工作 但每次我单击 ajax 回
  • 某些页面上有 https 请求,但并非所有页面上都有 https 请求 zend Framework

    我需要将 https 放在某些 URL 上 但不是所有 URL 上 我正在使用 zend URl view helper 来查看所有链接 我有一个用于整个网站的 example com SSL 证书 现在我打开网站https www exa
  • 与 os.scandir() 引发 AttributeError: __exit__

    An AttributeError当我使用 python 文档中的示例代码时引发 here https docs python org 3 library os html os scandir 示例代码如下 with os scandir