一个python程序调用另一个含有main()的python程序 怎么调用以及传递参数?
我有个python程序 执行起来是这样的 python myprogram.py param1 param2 param3 param4
现在我有个新的python程序 mypro.py 我需要在mypro.py里面调用 myprogram.py
所以我需要在 myprogram.py里面写一个main()
以及 if __name=="main"
main()
我想知道参数在两个python程序间是怎么传递的,而且我也不是很清楚怎么在mypro.py里面调用myprogram.py谢谢!
[解决办法]
a.py call b.py
----a.py---
import subprocess
cmd = [ "python", \
"b.py", \
"b", \
"c", \
]
retval = subprocess.call(cmd, 0, None, None, None, None)
print 'return =', retval
-----------b.py-------------------------
import sys
def fun(args):
for a in args:
print a
if __name__ == '__main__':
print fun(sys.argv)
sys.exit(10)
[解决办法]
在mypro.py中:
import myprogram
# 现在你可以调用myprogram.py中定义的所有函数.
[解决办法]
兩個程序都設一個主函數入口並返回相應結果,這樣就可以在任意程序作用為一個模塊import了。
[解决办法]
main函数应该设计带参数,这样当主文件单独执行或者当模块的时候都通用好使,譬如:
def main(param1,param2, param3, param4):
...
return something
if __name__ == '__main__':
main(*sys.argv[1:5])
[解决办法]
like this:
from xxx import main as my_main