与斯堪的迪尔()引发AttributeError:\u退出__

2024-06-16 11:48:56 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用python文档(here)中的示例代码时,会引发一个AttributeError。示例代码如下:

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

结果是AttributeError

^{pr2}$

不过,将os.scandir()分配给变量可以正常工作。 有人能告诉我我缺少什么吗?在


Tags: path代码namein文档示例forhere
2条回答

上下文管理器支持是在python3.6中添加的,如果尝试在以前的版本中使用它,则会出现错误,因为它不是上下文管理器(Python尝试先加载__exit__)。在

{

New in version 3.6: Added support for the context manager protocol and the close() method. [...]

(强调我的)

您可以更新到python3.6,如果不能,就不要将其用作上下文管理器。在

医生说

New in version 3.6: Added support for the context manager protocol

您可能正在运行一个旧的Python版本。在

相关问题 更多 >