Skip to main content
 首页 » 编程设计

python之从 python 脚本启动时等待算盘作业完成

2025年05月04日18落叶

我正在尝试通过 Windows 8 计算机上的命令提示符从 Python 运行 Abaqus 脚本。

我遇到的问题是我无法让 Python 脚本等到 Abaqus 作业完成后再继续。

下面是我尝试过的一些代码,一次一个:

os.popen('abaqus job=plate ask_delete=OFF') 
os.system('abaqus job=plate ask_delete=OFF') 
os.system('abaqus job=plate ask_delete=OFF') 
subprocess.call('abaqus job=plate ask_delete=OFF',shell=True) 
subprocess.check_call('abaqus job=plate ask_delete=OFF',shell=True) 

我也试过在像这样的子进程工具之后使用等待命令:

p1 = subprocess.check_call('abaqus job=plate ask_delete=OFF',shell=True) 
p1.wait() 

但我收到错误:AttributeError: 'int' object has no attribute 'wait'。

我不想使用 time.sleep(),因为这会导致我的代码出现相当长的停机时间。我正在使用 Python 3.5.2 和 Anaconda 4.2.0(64 位)。

请您参考如下方法:

您需要包含 abaqus 关键字“interactive”。例如

abaqus myjob=bob1 ask_delete=off interactive

否则它将在后台运行并且所有输出都转到 bob1.log 此外,还有一个带有 abaqus 安装的内置 python 环境,可用于自动运行 abaqus 作业。如果您使用这个“abaqus”python,则有更多的作业控制和监视选项