子流程,在Python的备用版本中启动脚本
我的主脚本,子流程,在Python的备用版本中启动脚本,python,subprocess,launch,versions,Python,Subprocess,Launch,Versions,我的主脚本,main.py在python3中运行。在它里面,我想用某种特定版本的python启动另一个脚本 import subprocess pysh="/data/data/org.qpython.qpy/files/bin/qpython-android5.sh" subprocess.call([pysh,'filetext.py']) 问题: 如何使用子流程在python2.x或3.x中交替打开filetext.py 我试过: 我尝试输入了几个不同的参数,但都没有效果,例如: os.
main.py
在python3中运行。在它里面,我想用某种特定版本的python启动另一个脚本
import subprocess
pysh="/data/data/org.qpython.qpy/files/bin/qpython-android5.sh"
subprocess.call([pysh,'filetext.py'])
问题:
如何使用子流程在python2.x或3.x中交替打开filetext.py
我试过:
我尝试输入了几个不同的参数,但都没有效果,例如:
os.system('python -2 -m filetext.txt')
或
或
任何帮助都将不胜感激。当我尝试几乎相同的方法时,似乎效果如下:
import subprocess
print(subprocess.call(["python2", "-c", "import sys; print sys.version"]))
从python3调用时,将打印2.7.5。这当然取决于您想要使用的python版本是否在路径上,如果不在路径上,则使用完整路径调用二进制文件
我不确定这是否只是一个输入错误,但我注意到您说过要运行filetext.py,但您在示例中传递了filetext.txt
如果这不起作用,我必须知道更多——你说它不起作用,但到底发生了什么?试试这个:
subprocess.call(['C:/Python27/python.exe', "filetext.txt"])
首先给出所需可执行文件的路径,然后在不同的参数中给出参数
import subprocess
print(subprocess.call(["python2", "-c", "import sys; print sys.version"]))
subprocess.call(['C:/Python27/python.exe', "filetext.txt"])