如何在Python中查找当前模块名称?
一个模块可以通过查看预定义的全局变量name来找到自己的模块名称。如果它的值为“main”,则程序正在以脚本形式运行。
示例
def main():
print('测试……')
...
if __name__ == '__main__':
main()
输出
测试……
通常使用import导入的模块还提供了命令行界面或自我测试,并且仅在检查name后才执行此代码。
name是python语言中的内置变量,我们可以编写一个程序来查看此变量的值。这里是一个示例。我们也将检查类型−
示例
print(__name__)
print(type(__name__))
输出
__main__
<type 'str'>
示例
现在,我们将创建一个名为Demo.py的新文件。在此文件中,我们定义了一个函数并调用了来自Demo.py的函数。
def myFunc():
print('__name__的值为 ' + __name__)
if __name__ == '__main__':
myFunc()
输出
__name__的值为 __main__
示例
现在,我们将创建一个名为Demo2.py的新文件。在此文件中,我们导入Demo并从Demo.py调用函数。
import Demo as dm
print('运行导入的脚本')
dm.myFunc()
print('')
print('运行当前脚本')
print('__name__的值为 ' + __name__)
输出
运行导入的脚本
__name__的值为 Demo
运行当前脚本
__name__的值为 __main__