6.1.1. 执行模块
当你用下面的方式运行一个 Python 模块
python fibo.py
模块中的代码将会被执行,就像导入它一样,不过此时 __name__ 被设置为 "__main__" 。也就是说,如果你在模块后加入如下代码:
if __name__ == "__main__":
import sys
fib(int(sys.argv[1]))
就可以让此文件既可以作为可执行的脚本,也可以当作可以导入的模块,因为解析命令行的那部分代码只有在模块作为 “main” 文件执行时才被调用:
$ python fibo.py 50
1 1 2 3 5 8 13 21 34
如果模块是被导入的,将不会运行这段代码:
>>>
>>> import fibo
>>>
这种方法通常用来为模块提供一个方便的用户接口,或者用来测试(例如直接运行脚本会执行一组测试用例)。