#python #subprocess
#python #подпроцесс
Вопрос:
Я использую subprocess.call
для запуска моего exe-файла с аргументами таким образом:
def run_file(self, file_path):
subprocess.call([r'c:file.exe', self.server_ip_address, file_path])
Это работает нормально, но теперь я хочу дождаться своего return code
.
Поэтому я пытаюсь использовать этот подход:
def run_file(self, file_path):
process = subprocess.call([r'c:file.exe', self.server_ip_address, file_path])
process.wait()
print(process.returncode)
И получил это error
:
process.wait() AttributeError: 'int' object has no attribute 'wait'
Комментарии:
1. Возможный дубликат документов .
Ответ №1:
Используйте subprocess.run
вместо subprocess.call
. Он блокируется, поэтому нет необходимости wait
.
https://docs.python.org/fr/3/library/subprocess.html
Комментарии:
1. Я заменил подпроцесс. вызовите subprocess.run и удалите process.wait(), также я добавил в subprocess.run функцию check=True, и все равно это не wait