这只是一个功能。导入并调用它:
import myModulemyModule.main()
如果需要解析参数,则有两个选择:
将它们解析为
main()
,但sys.argv
作为参数传递(以下所有代码均在同一模块中myModule
):def main(args):# parse arguments using optparse or argparse or what have you
if name == ‘main’:
import sys
main(sys.argv[1:])
现在,您可以导入
myModule.main(['arg1', 'arg2', 'arg3'])其他模块并从其他模块调用。
有
main()
接受已经解析(中再次全部代码参数myModule
模块):def main(foo, bar, baz='spam'):# run with already parsed arguments
if name == ‘main’:
import sys
# parse sys.argv[1:] using optparse or argparse or what have you
main(foovalue, barvalue, **dictofoptions)
然后导入并
myModule.main(foovalue, barvalue, baz='ham')在其他地方调用,并根据需要传入python参数。
这里的技巧是检测何时将模块用作脚本。当您运行python文件作为主脚本(
pythonfilename.py)时,未
import使用任何语句,因此python调用该模块
"__main__"。但是,如果将相同的
filename.py代码视为模块(
importfilename),则python会将其用作模块名称。在这两种情况下,
__name__都设置了变量,并针对该变量进行测试,以告诉您如何运行代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)