0

如何在两个都使用不同 Python 版本解释器的 Python 脚本之间传递变量?例如,

python-script-2.4 包含变量 X 将 X 返回到 python-script-2.7 进行操作

我试过这样做,但返回的值为'0'。

4

1 回答 1

1

据我所知,您使用 os.system() 从 Python2.7 脚本调用已经存在的 Python2.4 脚本。

首先,您应该考虑在 Python2.7 文档中替换 os.system() 。但是这种方法的限制是您只能获得调用的返回码(因此您必须查看 2.4 脚本以确保在发生任何错误时正确使用返回码......)。

其次,如果您需要了解 stdout 和 stderr 的内容,请使用subprocess.Popen

#!/bin/env python

from subprocess import Popen, PIPE

command = 'read INPUT ; echo $INPUT on stdout && echo 1>&2 "Here is stderr"'
process = Popen(command, shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE)
out, err = process.communicate("Hello world")
print(out)
print("-------")
print(err)
于 2012-08-03T12:20:37.010 回答