Найти - Пользователи
Полная версия: Как дождать и получить результат subprocess.Popen(command, shell=True)
Начало » Python для новичков » Как дождать и получить результат subprocess.Popen(command, shell=True)
1
qman
Всем привет.
есть процедура
def file_to_archive(path_7zip, archive_name, file_to_archive):
command = [path_7zip, 'a', archive_name, file_to_archive ]
#CreationFlag = win32process.NORMAL_PRIORITY_CLASS
CreationFlag = win32process.NORMAL_PRIORITY_CLASS
#CreationFlag = win32process.BELOW_NORMAL_PRIORITY_CLASS
try:
#ProcessZipBackup = subprocess.call(command, shell=True)

ProcessZipBackup = subprocess.Popen(command, shell=True, \
stdout=subprocess.PIPE,
creationflags = CreationFlag)

print u'запущено архивирование файлов'
ErrorExecZip = ProcessZipBackup.wait()
except:
print sys.exc_info()
err_message = 'Возникла ошибка создания бакапа %s из %s'%( archive_name,\
file_to_archive)
print(":-( %s")%command
print ErrorExecZip
return(False)
else:
#print ErrorExecZip
print(":-)%s")%command
print ErrorExecZip
return(True)
если в ней удалить
        ErrorExecZip = ProcessZipBackup.wait()
то все работает! Но хотелось бы получить результат завершения процесса. Раньше в другом скрипте все работало. Сейчас в момент запуска процесса 7zip идет нагрузка на CPU, буквально сразу нагрузка падает на 0 процентов. Как дождаться завершения процесса и получить результат?
o7412369815963
пример
qman
Спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB