2012-02-14 81 views
1

我有一个系统与许多版本的Python。有些是32b一些64b,一些2.4一些2.7等。我正在使用一个需要运行另一个python脚本的python脚本。我想运行与运行初始脚本的python版本相同的第二个脚本。你如何找出python解释器在python中的位置?

我的计划是做这样的事情:

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

的问题是:如何定义“currentPython”?

+0

什么是操作系统? Linux呢? – FakeRainBrigand 2012-02-14 20:34:14

回答

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' 
>>> 
相关问题