Aus*_*ney 1 python subprocess os.system abaqus
我试图通过Windows 8计算机上的命令提示符从Python运行Abaqus脚本.
我遇到的问题是我无法让Python脚本等到Abaqus工作完成后才能继续前进.
下面是我尝试过的一些代码,一次一个:
os.popen('abaqus job=plate ask_delete=OFF')
Run Code Online (Sandbox Code Playgroud)
os.system('abaqus job=plate ask_delete=OFF')
Run Code Online (Sandbox Code Playgroud)
os.system('abaqus job=plate ask_delete=OFF')
Run Code Online (Sandbox Code Playgroud)
subprocess.call('abaqus job=plate ask_delete=OFF',shell=True)
Run Code Online (Sandbox Code Playgroud)
subprocess.check_call('abaqus job=plate ask_delete=OFF',shell=True)
Run Code Online (Sandbox Code Playgroud)
我也试过在这样的子进程工具之后使用wait命令:
p1 = subprocess.check_call('abaqus job=plate ask_delete=OFF',shell=True)
p1.wait()
Run Code Online (Sandbox Code Playgroud)
但我得到错误:AttributeError: 'int' object has no attribute 'wait'.
我不想使用a,time.sleep()因为这会导致我的代码中有相当多的停机时间.我使用的是Python 3.5.2和Anaconda 4.2.0(64位).
小智 5
您需要包含abaqus关键字"interactive".例如
abaqus myjob=bob1 ask_delete=off interactive
否则它将在后台运行并且所有输出都转到.bob1.log
此外,还有一个带有abaqus安装的内置python环境,可用于自动运行abaqus作业.如果你使用这个"abaqus"python,有更多的工作控制和监控选项
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |