测试命令在Python脚本中是否成功完成
我有一个Python脚本,它会在一个文件夹里搜索,如果发现有文件最近被修改过,就会执行一个命令来运行我们的建模软件,同时还会运行另一个Python脚本来生成报告。目前我已经让报告生成正常运行了,但我想加一个功能:如果报告生成因为某种原因中断了(比如软件没打开,或者出现了错误等),我想知道并发送一封邮件,告诉大家这次运行没有完成。现在我有了下面的代码,但我发现它返回的是零,因为实际的命令是成功执行的,即使报告没有生成。
ansa_call = "ansa_15.1.0 -nogui -exec load_script:/path/SubstructureSummary.py -exec 'SubstructureSummary (\""+path+"\")'" print ansa_call ret = os.system(ansa_call) print ret if ret != 0: print 'sending email'
我在另一个脚本'SubstructureSummary.py'里故意注入了一个错误,这样它就会强制出错。我该怎么获取一个返回值,来显示这次运行没有完成呢?
谢谢!!
1 个回答
1
你说你的脚本会生成一个报告。如果这个报告是一个文件,而且你知道它应该在哪里,那么最简单、最可靠的方法就是检查一下这个输出文件是否正常。你可以看看文件的时间戳、文件大小,或者做其他一些检查。
如果文件不在,或者看起来损坏了,那你就可以发送邮件了。