我想从python启动程序,在本例中是abaqus(有限元分析软件),使用:
os.system('abaqus job=' + JobName + ' user=' + UELname + ' interactive')
在运行程序5分钟后,我想执行一个python脚本来监视abaqus生成的一些输出文件。如果满足某个条件,则python脚本将终止abaqus作业。这里有一个问题。要读取输出文件,我需要从abaqus运行python脚本:
os.system('abaqus cae noGUI=results2.py')
我的问题是:
我可以通过以下方式完成此操作:
os.system('abaqus job=' + JobName + ' user=' + UELname + ' interactive')
time.sleep(300)
os.system('abaqus cae noGUI=results2.py')
我知道使用interactive
密钥会使系统在执行其他操作之前等待abaqus作业完成。因此,我认为这并不像我希望的那么简单。有什么想法吗?
答案 0 :(得分:2)
您是否尝试过subprocess模块?
答案 1 :(得分:1)
逻辑似乎很好,我建议你使用subprocess,而不是os.system。由于您正在调用命令,因此您可以像这样一次运行所有这些命令
cmdToRun = '\'abaqus job=\' + JobName + \' user=\' + UELname + \' interactive\' ; sleep 300; abaqus cae noGUI=results2.py'