【问题标题】:__file__ on some modules return None__file__ 在某些模块上返回 None
【发布时间】:2021-03-25 11:08:54
【问题描述】:

我使用 for 循环在许多模块上运行 _file_ 函数,而对于某些模块,我得到了 None。我看到没有 _init_ 文件的文件可能会发生这种情况,但我无法将 _init_ 文件添加给那些没有的文件,因为文件很多。

是否有任何其他选项可以获取相同的数据,而不是使用 _file_ 所以我不会得到 None?

【问题讨论】:

    标签: python file import module nonetype


    【解决方案1】:

    这个答案可能会帮助你https://stackoverflow.com/a/9271617/4498470

    设置__file__ = None 的模块可能是用C 编写的模块。它们是静态链接的。或者可能导入系统已经从数据库加载到模块中,因此没有“文件”指向。

    我会说如果没有设置__file__ 属性,除非它是一个错误,这可能是因为该属性对于特定模块没有意义。

    Python 的导入系统相当复杂。你可以在这里阅读__file__ https://docs.python.org/3.8/reference/import.html?highlight=__file__#import-related-module-attributes 等属性。

    因此,“是否有任何其他选项可以获取相同的数据,而不是使用 file 所以我不会得到 None”的答案可能是否定的。(至少对于 C Python)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-26
      • 2021-10-14
      • 2019-04-18
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多