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

spspli 2010-02-09 10:46:27
我有个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谢谢!
...全文
4516 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
like this:

from xxx import main as my_main
angel_su 2010-03-04
  • 打赏
  • 举报
回复 1
main函数应该设计带参数,这样当主文件单独执行或者当模块的时候都通用好使,譬如:

def main(param1,param2, param3, param4):
...
return something

if __name__ == '__main__':
main(*sys.argv[1:5])
海楓 2010-03-04
  • 打赏
  • 举报
回复
兩個程序都設一個主函數入口並返回相應結果,這樣就可以在任意程序作用為一個模塊import了。
panghuhu250 2010-02-09
  • 打赏
  • 举报
回复
在mypro.py中:

import myprogram
# 现在你可以调用myprogram.py中定义的所有函数.

notax 2010-02-09
  • 打赏
  • 举报
回复
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)

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧