我正在尝试解决一段代码中出现的问题,这段代码是我需要构建的。我有一个Python模块,需要能够导入并传递参数,这些参数将由主模块进行解析。我收到的代码看起来像这样:
#main.py
if __name__ == '__main__'
sys.argv[] #pass arguments if given and whatnot
Do stuff...
我需要添加一个
main()
函数,它可以接收参数并解析它们,然后像下面这样将它们传递:#main.py with def main()
def main(args):
#parse args
return args
if __name__ == '__main__':
sys.argv[] #pass arguments if given and whatnot
main(sys.argv)
Do stuff...
总之,我需要导入main.py并传递由
main()
函数解析的参数,然后将返回的信息提供给if __name__ == '__main__'
部分。
编辑
为了澄清我的做法。#hello_main.py
import main.py
print(main.main("Hello, main"))
同时,我仍希望能够通过shell调用main.py
$: python main.py "Hello, main"
因此,保留name == main是我的要求。
这是否可能?我今天花了很多时间研究这个问题,因为我想尽可能地保留给定的main.py模块。
谢谢,
dmg
if __name__ == '__main__':
部分。 - Jean-François Fabre