gpt4 book ai didi

python确定导入模块的名称

转载 作者:行者123 更新时间:2023-11-28 17:48:52 25 4
gpt4 key购买 nike

如何确定正在导入的模块中导入模块的名称。我有部分解决方案,但不是完整的解决方案。

代码是:A.py

import B

if __name__ == '__main__':
print 'This a test'

B.py

import sys
import C
if sys.argv[0] == 'A':
doSomething()

此时,我已经准备就绪,因为在模块 B 中,我知道调用导入的主要名称,在本例中是 A。但是,在 B 中,请求导入 C,它是在C里面我想知道B是否导入了C?这是怎么做到的?

最佳答案

sys.argv[0] 不是执行 import 时的模块名称。这是可执行文件的名称。

另一方面,在 Python 模块内部 __name__ 等于 a) 如果它是通过导入执行的模块名称,b) 如果它作为脚本执行则为 "__main__"

模块不“知道”谁执行了import(没有“parent”属性或类似的东西)。使用不同的函数定义您的行为,并从不同的模块中调用它们。

关于python确定导入模块的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13803219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com