如何以编程方式运行另一个python脚本与其他python版本?

时间:2012-03-27 16:46:58

标签: python

如果我在python 2.7中编写程序并且我想用另一个python(2.6)运行另一个脚本文件,我该怎么办?

编辑:我这样做,因为我需要Django(安装在python 2.7中),我需要一些只适用于python 2.6的程序......

EDIT2:所以我写了一个简单的脚本,它将在python 2.6中执行,我将在python 2.7中得到它的结果

1 个答案:

答案 0 :(得分:4)

您有多种选择,但最常见的概念是使用os.system来执行脚本。

明确的口译员

os.system('python2.6 myscript.py')

依靠shebang选择合适的口译员

os.system('myscript.py')

为此,您的脚本必须将第一行设置为

#!/usr/bin/env python2.6

您的python2.6可执行文件需要位于PATH

如果你需要stdin / stdout操作

subprocess.Popen('myscript.py', subprocess.PIPE) #relying on shebang
subprocess.Popen(['/usr/bin/env', 'python2.6', 'myscript.py'], subprocess.PIPE) #manual interpreter selection

请参阅http://docs.python.org/library/subprocess.html#subprocess.Popen