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__)
我观察到 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__)