从 python 脚本执行命令行程序(Abaqus-python 脚本)

Executing command line program (Abaqus-python script) from python script

我正在尝试从另一个在 Spyder 中执行的 python 脚本 运行 Abaqus-python 脚本文件(python 3.7,windows 10) .

如果我运行在CMD中执行以下命令 abaqus cae -noGUI model.py 代码按预期执行。但是,如果我尝试 运行 cp = subprocess.run('abaqus cae -noGUI model.py',shell=True) 我没有得到任何输出。以下是 cp.

返回的内容

备注:

  1. 我正在尝试 运行 的 Abaqus-python 文件与我拥有的 python 脚本位于同一文件夹中。
  2. 我尝试过各种 sp.call、sp.run、os.systems 的不同字符串和列表格式。
  3. “C:\Abaqus\Commands”和“C:\SIMULIA\Commands”都在我的 PATH 环境变量中。
  4. 我认为 -noGUI 调用对这个问题很重要。对于这个问题,我似乎无法在 SO 上找到其他人。

经过大量挖掘后,我认为问题是我的 python 安装的路径是 Anaconda 完成的,所以我的路径与 CMD 不同。我通过将完整的 Abaqus 位置添加到命令来修复此问题。见下文。

subprocess.call(r'C:\SIMULIA\Commands\abaqus job=Job-1 ask_delete=OFF interactive', shell=True)

我不确定你的问题是什么,但请注意 Abaqus 脚本是基于 python 2.7,因此你可能需要降级它