首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

一个python程序调用另一个含有main()的python程序 如何调用以及传递参数

2012-04-03 
一个python程序调用另一个含有main()的python程序 怎么调用以及传递参数?我有个python程序 执行起来是这样

一个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

热点排行