如何从Python函数中检索调用脚本的结果?
我想从函数中调用外部脚本,例如:如何从Python函数中检索调用脚本的结果?,python,function,Python,Function,我想从函数中调用外部脚本,例如: 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") 脚本calc_delta.py在完成后只打印结果。如何将该脚本的结果分配给变量?谢谢。您应该看看s
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")
脚本calc_delta.py在完成后只打印结果。如何将该脚本的结果分配给变量?谢谢。您应该看看subprocess.Popen() 例如(从文档中):
子流程。call
只会为您的呼叫提供响应代码,而不是输出。而不是使用子流程。call
您应该使用Popen
并在其上调用通信
这将允许您阅读stdout
和stderr
。您还可以使用stdin
输入数据
文档中的示例:
用Python≥2.7 / ≥3.1,您可以使用将标准输出转换为str
answer = subprocess.check_output(['/usr/bin/calc_delta.py'])
Python上还有subprocess.getstatusoutput
和subprocess.getoutput
≥3.1如果您需要的是一个shell命令,但它仅在*NIX上受支持。您应该使用/
而不是“\”。
output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]
answer = subprocess.check_output(['/usr/bin/calc_delta.py'])