Python 自定义模块属性错误_name_

Python custom module attribute error _name_

我观察到 python 的一个非常奇怪的行为:我收到任何自定义模块的任何属性或函数的属性错误,尽管 dir() 告诉我它存在。

我是做什么的:

我有一个名为 testmodule.py 的模块:

def printing(text):
   print("something and "+text)

我主要是这样做的:


import testmodule as tm

print(dir(tm))
print(tm._name_)

我得到的:

dir() 的输出符合预期:['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'printing']

但后来我得到:AttributeError: module 'testsite_function' has no attribute '_file_'。无论我调用哪个属性或函数,都会发生这种情况。

更多: 我不知道这是否是有用的信息: 我使用 python 3.8.10 解释器。 我在虚拟环境中工作。它被激活并且到目前为止没有引起任何问题。 main 和 testmodule.py 都在同一个文件夹中。 我正在通过 ssh 远程使用 vs 代码。到目前为止,这没有造成任何问题。 几天前没有这样的问题。我同时重新安装了vscode,版本和以前一样。 直接在终端执行main也会出现同样的问题。 其他模块,如 numpy 工作。

您需要使用双下划线:

print(tm.__name__)