这令人沮丧。我搜索了很多,但没有一个结果对我有帮助。我尝试过subprocess但我仍然无法让它工作。基本上我想让这条线工作:
appName = "ap01"
optna = "-server"
optnb = "-filename=c:/test.VS"
optnc = "-display=1"
os.system('start "VSM" "C:/bin/" {appName, optna, optnb, optnc} ')
在CMD中,我只需输入
即可CD C:/bin/
按Enter键然后:
ap01 -server -filename=C:/test.VS -display=1
答案 0 :(得分:0)
怎么样:
import os
appName = "ap01"
opts =[
"-server",
"-filename=c:/test.VS",
"-display=1"
]
opts = ' '.join(opts)
os.system(r'start "" "C:\bin\{:}" {:}'.format(appName, opts) )
很难测试,因为我没有ap01但是使用简单的批处理文件。无论如何你应该像@ l4mpi评论一样使用子过程。那就是:
import subprocess
import os
app=[
"ap01.ext",
"-server",
"-filename=c:/test.VS",
"-display=1"
]
os.chdir('"C:/bin/')
subprocess.call(app, shell=True)
请注意,这在Windows上有点挑剔,因为它需要知道应用程序的完整名称。至于天气与否,应用程序可以通过esc终止取决于ap01的性质。如果你通过shell运行它是肯定的,它是可终止的,因为shell依赖并且可以终止。如果你管道它然后它可能会或可能不会。您应该使用 INSTSRV.EXE
启动并将其转换为服务