Python Nastran子进程轮询

问题描述 投票:0回答:1

我正在通过Python运行Nastran模拟。

nastran=subprocess.run([nastrandir,fn,"parallel = 4","old=no",outputarg])

这些模拟往往会在没有反馈的情况下运行相当长的一段时间,因此,我正在尝试自动读取输出文件以获取相关数据并进行打印。

为此,我需要在子流程运行时中运行一些代码。但是,这似乎不起作用。作为一个简单的测试,我将此代码编写在subprocess命令下面:

while nastran.poll() is None:
   print("Still working   \r")
   time.sleep(delay)
   print("Still working.  \r")
   time.sleep(delay)
   print("Still working.. \r")
   time.sleep(delay)
   print("Still working...\r")
   time.sleep(delay)

[不幸的是,代码似乎卡在subprocess命令上,等待它完成,这时nastran成为CompletedProcess类,无法再轮询,这是我收到的错误。] >

关于如何让Python正确轮询Nastran子进程的任何想法?

我正在通过Python运行Nastran模拟。 nastran = subprocess.run([nastrandir,fn,“ parallel = 4”,“ old = no”,outputarg])这些模拟往往会运行很长时间而没有反馈,因此我...

python subprocess nastran
1个回答
0
投票
这里是实现目标的解决方案。尽管这不一定轮询MSC Nastran,但此解决方案确实允许您在MSC Nastran运行时检查输出文件。
© www.soinside.com 2019 - 2024. All rights reserved.