2024-05-01 22:08:43 发布
网友
我想从函数中调用外部脚本,例如:
import subprocess def call_script(script): subprocess.call(script) return answer #retrieving the result is the part I'm struggling with call_script("/user/bin/calc_delta.py")
脚本计算_增量.py完成后只需打印结果。如何将脚本的结果赋给变量?非常感谢。你知道吗
在Python≥2.7/≥3.1中,可以使用^{}将stdout转换为str
answer = subprocess.check_output(['/usr/bin/calc_delta.py'])
如果您需要的是shell命令,那么Python≥3.1上也有subprocess.getstatusoutput和subprocess.getoutput,但是只有*NIX支持它。你知道吗
subprocess.getstatusoutput
subprocess.getoutput
与其使用subprocess.call,不如使用Popen并对其调用communicate。你知道吗
subprocess.call
Popen
communicate
这将允许您读取stdout和stderr。也可以使用stdin输入数据。你知道吗
stdout
stderr
stdin
文档http://docs.python.org/library/subprocess.html#replacing-bin-sh-shell-backquote中的示例:
output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]
你应该看看子流程.Popen(popen)
例如(来自文档):
pipe = Popen("cmd", shell=True, bufsize=bufsize, stdout=PIPE).stdout
subprocess.call只提供调用的响应代码,而不是输出。你知道吗
在Python≥2.7/≥3.1中,可以使用^{} 将stdout转换为str
如果您需要的是shell命令,那么Python≥3.1上也有
subprocess.getstatusoutput
和subprocess.getoutput
,但是只有*NIX支持它。你知道吗与其使用
subprocess.call
,不如使用Popen
并对其调用communicate
。你知道吗这将允许您读取
stdout
和stderr
。也可以使用stdin
输入数据。你知道吗文档http://docs.python.org/library/subprocess.html#replacing-bin-sh-shell-backquote中的示例:
你应该看看子流程.Popen(popen)
例如(来自文档):
subprocess.call
只提供调用的响应代码,而不是输出。你知道吗相关问题 更多 >
编程相关推荐