我想使用 Popen 执行以下命令:
call "E:/Ansys/ANSYS Inc/v222/ansys/bin/winx64/lsprepost48/lsdynamsvar.bat" && "E:/Ansys/ANSYS Inc/v222/ansys/bin/winx64/lsdyna_sp.exe" i=C:/Users/User/Desktop/ls-dyna_python/Project_1/qd_env/1/projects/1_1_1/1_1_1.k ncpu=1 memory=20m
另外如何在另一个文件夹中运行它?例如在
"Desktop/Work/"
我真的不知道如何以这种方式使用
Popen
,我应该列出什么?
subprocess.Popen [*whole command*]
?subprocess.Popen ['call', '*rest*']
?
这对我不起作用,我不明白这里的论点是什么
它适用于
os.system('cmd /k "*command*")
。
我不太关心检查
output
。
我想用
Popen
接下来使用 process.wait()
。
评论给出了我需要的答案,以下内容有所帮助:
process = subprocess.Popen('call "E:/Ansys/ANSYS Inc/v222/ansys/bin/winx64/lsprepost48/lsdynamsvar.bat" && "E:/Ansys/ANSYS Inc/v222/ansys/bin/winx64/lsdyna_sp.exe" i=C:/Users/User/Desktop/ls-dyna_python/Project_1/qd_env/1/projects/1_1_1/1_1_1.k ncpu=1 memory=20m',shell=True,cwd="C:/Users/User/Desktop/ls-dyna_python/Project_1/qd_env/1/projects/1_1_1")
所以这里
Popen
没有[]
,在一个字符串中的命令,也使用了shell=True
。
为了在确切的文件夹参数中执行,使用了
cwd="path"
。
谢谢大家的帮助。