2012-02-14 7 views
1

私は多くのバージョンのPythonを持つシステムを持っています。いくつかは32b 64b、2.4 2.4 2.7などです。私は別のpythonスクリプトを実行する必要があるpythonスクリプトを使って作業しています。最初のスクリプトを実行したのと同じバージョンのPythonで2番目のスクリプトを実行したい。あなたのPythonインタープリタがどこにあるのかをどうやって調べますか?

私の計画は、このような何かを行うことです。

os.system('%s script.py' % currentPython) 

質問は:どのように私は「currentPython」を定義していますか?

+0

どのようなOSですか? Linux? – FakeRainBrigand

答えて

5

Pythonインタプリタへのパスは、sys.executableとしてアクセス可能です。

os.system()ではなく、サブインタープリタを呼び出すためにsubprocessモジュールを使用してください。

3

sys.executableには、探しているパスが含まれています。ただし、os.systemは使用しないでください。そのパスには空白が含まれる可能性があります(たとえば、C:\Program Files\Python2.7\python.exe)。代わりにsubprocess.check_call

subprocess.check_call([sys.executable, 'script.py']) 
1

を使用してください。sys.executableを使用してください。それは

、これは理にかなっているシステム上で Pythonインタプリタの実行可能バイナリの絶対パスを表す文字列を与えます。

>>> import sys 
>>> sys.executable 
'C:\\Panda3D-1.7.2\\python\\python.exe' 
>>> 
関連する問題