在Python中,我可以调用导入模块的main()吗?

在Python中,我可以调用导入模块的main()吗?,第1张

在Python中,我可以调用导入模块的main()吗?

这只是一个功能。导入并调用它:

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__
都设置了变量,并针对该变量进行测试,以告诉您如何运行代码。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5644185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存