我正在使用Python 3.3。我试过这个:
# beginning and ending quotes are to compensate for Microsoft kludge
emuleappfile = '"'+os.environ['ProgramFiles']+'\\eMule\\emule.exe'+'"'
os.system(emuleappfile)
# vvv beginning and ending quotes are to compensate for Microsoft kludge
vuzeappfile = '"'+os.environ['ProgramFiles']+'\\Vuze\\azureus.exe'+'"'
os.system(vuzeappfile )
和这个
# beginning and ending quotes are to compensate for Microsoft kludge
emuleappfile = '"'+os.environ['ProgramFiles']+'\\eMule\\emule.exe'+'"'
itran = os.system(emuleappfile)
# vvv beginning and ending quotes are to compensate for Microsoft kludge
vuzeappfile = '"'+os.environ['ProgramFiles']+'\\Vuze\\azureus.exe'+'"'
itran = os.system(vuzeappfile)
emule打开,但程序在emule关闭之前不会打开vuze。 GRR。
答案 0 :(得分:2)
使用subprocess.Popen
。在Windows上,它调用Win32 API函数CreateProcess
。
http://docs.python.org/3/library/subprocess
import os
import subprocess
emuleappfile = os.path.join(os.environ['ProgramFiles'], 'eMule', 'emule.exe')
vuzeappfile = os.path.join(os.environ['ProgramFiles'], 'Vuze', 'azureus.exe')
proc_emule = subprocess.Popen([emuleappfile])
proc_vuze = subprocess.Popen([vuzeappfile])
修改强>
Popen公开了STARTUPINFO
结构的几个字段,用于设置进程和窗口属性。请参阅子流程文档中的Windows Popen Helpers部分。例如,使用以下命令在隐藏窗口中启动vuze,这也是Win32 ShowWindow窗口的默认状态:
si = subprocess.STARTUPINFO()
si.dwFlags = subprocess.STARTF_USESHOWWINDOW
si.wShowWindow = subprocess.SW_HIDE
proc_vuze = subprocess.Popen([vuzeappfile], startupinfo=si)
答案 1 :(得分:0)
os.system(''.join(['start "', os.environ['ProgramFiles'], '\\eMule\\emule.exe', '"']))
(特别是start
部分)将在单独的窗口中运行可执行文件,因此不会阻止当前的可执行文件。