在没有for循环的情况下第二次运行外部程序之前使python等待

时间:2017-02-28 06:55:09

标签: python windows cmd marc

我使用VisualDoc在有限元软件(MSC MARC)中迭代材料属性。 我遇到的问题是VisualDoc一次执行FEM仿真的多个窗口,我需要FEM程序一次执行一次运行。

在visual doc中,调用MARC程序如下:调用cmd批处理文件,打开一个打开MARC模拟的python脚本。 (我尝试了多种从VisualDOC调用MARC的方法,这是唯一可行的方法)

首先我尝试将MARC软件设置为非批处理模式,但我找不到设置来执行此操作。

目前我正在尝试编写一个使用的python脚本 subprocess.Popen和它伴随着wait()函数,但我手动要求Python再次运行,而第一个MARC运行仍在执行,它仍然打开第二个MARC模拟。有没有办法强制Python等待程序在打开下一次运行之前完成执行?

p = subprocess.Popen(["procedure.proc"], shell = True)
p.wait()

我想尝试使用cmd来获得相同的效果,但是由于python打开了MARC程序,我认为最好将等待编码到python中。我在这个假设中是对的,还是通过cmd强制执行等待会更好?

当前的cmd代码如下:

CD C:\INTERFACEMARC\loop
openmarc.py

注意: 我无法使用for循环,因为python脚本只应打开一次MARC程序才能使用我的VisualDoc优化代码。

目前打开MARC的代码如下所示,但据我所知,这并不妨碍在MARC仍在运行时第二次执行python脚本(基于我的手动测试)。

0 个答案:

没有答案