Python Nastran子进程轮询

2024-06-07 21:01:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过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子进程,有什么想法吗?你知道吗


Tags: run代码命令timeparallelsleepworkingfn

热门问题