os.system 不工作,但在命令提示符下输入同样的东西可以工作

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

我正在尝试使用

通过命令提示符运行 python abaqus
os.system('abaqus CAE noGUI=ODBMechens')

它似乎没有运行任何东西,但如果我自己转到命令提示符并输入

abaqus CAE noGUI=ODBMechens

有效。我在 Windows 10 上使用 python 2.7。 谢谢

python command-prompt os.system abaqus
3个回答
5
投票

尝试使用 subprocess 模块(它是更新的): 例如,

subprocess.call(["ls", "-l"])

在您的示例中,它将是:

subprocess.call('abaqus CAE noGUI=ODBMechens')

更多关于子进程模块和使用 os.system 调用的区别的信息:

os.system 和 subprocess 调用的区别


1
投票

你应该在你的代码之前添加

import os
import subprocess
try:
    os.environ.pop('PYTHONIOENCODING')
except KeyError:
    pass

然后:

cmd = subprocess.Popen('abaqus CAE noGUI=ODBMechens',cwd=jobPath, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
                                   stderr=subprocess.PIPE, shell=True).communicate()[0]

变量 cmd 包含您的输出。我发现这种方式有效。


0
投票

是的,我有这个问题,我的命令提示符也给出了, 他们给了

-1

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