作为脚本来执行模块“main”与"name"
当你使用以下方式运行 Python 模块时,模块中的代码便会被执行:
python fibo.py <arguments> #定义一个斐波那契数列的文件名,传入参数
python fibo.py 50
1 1 2 3 5 8 13 21 34
摸块中的代码会被执行,就像导入它一样,不过此时 name 被设置为 “main” 。
相当于在模块后加入如下代码:
if __name__ == "__main__":
import sys
fib(int(sys.argv[1]))
就可以让此文件像作为模块导入时一样作为脚本执行。此代码只有在模块作为 “main” 文件执行时才被调用,如果模块被导入,不会执行这段代码,输出的是导入进来的文件名:
import fibo
None
这通常用来为模块提供一个便于测试的用户接口(将模块作为脚本执行测试需求)。