0

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 サブプロセスを適切にポーリングする方法について何か考えはありますか?

4

1 に答える 1