Я пытаюсь запустить сценарий Abaqus из Python через командную строку на машине Windows 8.Подождите, чтобы выполнить работу счетчика после запуска из сценария python
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заставить скрипт Python ждать, пока работа Abaqus не завершится, прежде чем двигаться вперед.
Ниже некоторый код, который я пытался, по одному за раз:
os.popen('abaqus job=plate ask_delete=OFF')
os.system('abaqus job=plate ask_delete=OFF')
os.system('abaqus job=plate ask_delete=OFF')
subprocess.call('abaqus job=plate ask_delete=OFF',shell=True)
subprocess.check_call('abaqus job=plate ask_delete=OFF',shell=True)
Я также попытался с помощью команды ожидания после подпроцесса инструментов, как это:
p1 = subprocess.check_call('abaqus job=plate ask_delete=OFF',shell=True)
p1.wait()
Но я получаю ошибку: AttributeError: 'int' object has no attribute 'wait'
.
Я не хочу использовать time.sleep()
, так как это вызывает значительное количество времени простоя в моем коде. Я использую Python 3.5.2 и Anaconda 4.2.0 (64-разрядный).
Спасибо, я запустил код как subprocess.call ('abaqus job = plate ask_delete = OFF interactive', shell = True). Я знаю, что у Abaqus есть модуль python, но из-за несоответствия в версиях Python мне нравится простота обновления файлов .inp, а затем отправка заданий. –