Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 15, 2010 07:50:10

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дождать и получить результат subprocess.Popen(command, shell=True)

Всем привет.
есть процедура

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 процентов. Как дождаться завершения процесса и получить результат?



Офлайн

#2 Апрель 15, 2010 11:26:57

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Как дождать и получить результат subprocess.Popen(command, shell=True)

Офлайн

#3 Апрель 28, 2010 17:50:15

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

Как дождать и получить результат subprocess.Popen(command, shell=True)

Спасибо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version