Python Nastran опрос подпроцесса - PullRequest
0 голосов
/ 19 марта 2019

Я запускаю симуляцию Nastran через Python.

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?

...