你怎么知道你的python解释器在python中的位置?

时间:2012-02-14 20:32:53

标签: python

我有一个包含许多python版本的系统。有些是32b,有些64b,有些2.4有2.7,等等。我正在使用需要运行另一个python脚本的python脚本。我想用运行初始脚本的相同版本的python运行第二个脚本。

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

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

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

3 个答案:

答案 0 :(得分:5)

python解释器的路径可以sys.executable访问。

请使用subprocess模块致电子翻译,而不是os.system()

答案 1 :(得分:3)

sys.executable包含您要查找的路径。但是,您不应使用os.system,因为该路径可能包含空格(例如在C:\Program Files\Python2.7\python.exe中)。相反,请使用subprocess.check_call

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

答案 2 :(得分:1)

使用sys.executable。它给出了

  

一个字符串,给出了可执行二进制文件的绝对路径   Python解释器,在有意义的系统上。

>>> import sys
>>> sys.executable
'C:\\Panda3D-1.7.2\\python\\python.exe'
>>>