使用Popen Python执行Cmd命令

问题描述 投票:0回答:1

我想使用 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()

python shell cmd popen
1个回答
0
投票

评论给出了我需要的答案,以下内容有所帮助:

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"

谢谢大家的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.