操作系统不工作,但在命令提示符中键入相同的内容可以工作

2024-09-28 17:20:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图使用

os.system('abaqus CAE noGUI=ODBMechens')

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

abaqus CAE noGUI=ODBMechens

它起作用了。我在Windows 10上使用python 2.7。 谢谢


Tags: 键入oswindowssystem命令提示符abaqus正试图cae
2条回答

你应该在代码前添加

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包含您的输出。我发现它是这样工作的。

尝试改用子流程模块(它较新): 例如

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

在你的例子中,应该是:

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

有关子流程模块与使用os.system调用之间差异的详细信息:

The Difference between os.system and subprocess calls

相关问题 更多 >