【发布时间】:2015-06-02 22:52:10
【问题描述】:
python 新手。
我正在尝试从 python 脚本调用 python 脚本,除了捕获结果之外,我大部分都成功了。
a.py
status = subprocess.call("python /hosting/apps/b.py"+" "+server+" "+port+" "+sid, shell=True)
b.py
在第二个脚本中,我正在做一些计算并尝试使用 print 和 return 传回名为 status 的变量
print status;
return status;
这似乎不起作用。这是正确的做法吗?
【问题讨论】:
-
你需要使用子进程吗?为什么不使用 a.py 的
import b? (docs.python.org/2/tutorial/modules.html) -
使用 Popen 并读取进程的标准输出。此处的说明:stackoverflow.com/questions/2502833/…
-
您应该导入
b模块并调用适当的函数以直接获取结果(如果您需要多个线程,可以使用threading、multiprocessing等模块, processes) 而不是将b.py作为外部进程运行并捕获其输出。
标签: python return subprocess