2014-02-05 26 views
0

我想从蟒启动一个程序,在这种情况下ABAQUS(有限元分析软件)由程序生成的输出文件,使用:启动程序和后来的Python脚本,其监视

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工作完成。因此,我认为这并不像我希望的那样简单。有任何想法吗?

回答

1

逻辑看起来不错,我建议你使用subprocess,而不是os.system。由于您正在调用命令,因此您可以像这样一次运行所有这些命令。

cmdToRun = '\'abaqus job=\' + JobName + \' user=\' + UELname + \' interactive\' ; sleep 300; abaqus cae noGUI=results2.py'