我有一个包含许多python版本的系统。有些是32b,有些64b,有些2.4有2.7,等等。我正在使用需要运行另一个python脚本的python脚本。我想用运行初始脚本的相同版本的python运行第二个脚本。
我的计划是做这样的事情:
os.system('%s script.py' % currentPython)
问题是:我如何定义“currentPython”?
答案 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'
>>>