我想从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')我知道使用abaqus键会让系统等待interactive作业完成后再做其他事情。因此,我认为这并不像我希望的那样简单。有什么想法吗?
发布于 2014-02-06 02:47:18
你试过subprocess模块了吗?
发布于 2014-02-06 02:49:02
逻辑看起来不错,我建议你使用subprocess,而不是os.system。由于您正在调用命令,因此可以像这样一次运行所有这些命令
cmdToRun = '\'abaqus job=\' + JobName + \' user=\' + UELname + \' interactive\' ; sleep 300; abaqus cae noGUI=results2.py'https://stackoverflow.com/questions/21585730
复制相似问题