異なる Python バージョンのインタープリターを使用する 2 つの Python スクリプト間で変数を渡すにはどうすればよいですか? 例えば、
python-script-2.4 には変数 X が含まれており、操作のために X を python-script-2.7 に返します。
これを試してみましたが、返される値は「0」です。
異なる Python バージョンのインタープリターを使用する 2 つの Python スクリプト間で変数を渡すにはどうすればよいですか? 例えば、
python-script-2.4 には変数 X が含まれており、操作のために X を python-script-2.7 に返します。
これを試してみましたが、返される値は「0」です。
私が理解できるように、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)