Я просто натолкнулся на это, ища то же самое, но я решил это сам! Если предположить, что команда обрабатывается с Windows/DOS, более простое решение, чтобы изменить команду:
7z.exe -o some_dir x some_archive.7z > nul
То есть прямой выход на нулевой файл, а не на экране.
Или вы можете перенаправить вывод в DOS «найти» команда только выходные конкретных данных, то есть,
7z.exe -o some_dir x some_archive.7z | FIND "ing archive"
Это просто приведет к следующему выходу.
Создание архива some_archive.7z
или
Обновление архива some_archive.7z **
Мое окончательное решение было изменить команду
... some_archive.7z | FIND /V "ing "
Примечание пробел после слова 'ing'. Это привело к следующему результату.
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Updating some_archive.7z
Everything is Ok
Это удаляет отдельную обработку файлов, но дает сводную информацию об общей операции, независимо от типа операции.
Спасибо. Это помогло. Я попробовал subprocess.Popen. Но затем мой родительский процесс выполняется до возвращения ребенка. Прежде чем продолжить, я хочу проверить код возврата ребенка. Я просматриваю документы, но дайте мне знать, знаете ли вы, как спрятаться (особенно с stdout = PIPE). – sambha
Получил это. popen.communicate – sambha
Что такое эквивалентное решение для Windows? http: //stackoverflow.com/questions/5966063/redirect-7-zips-command-line-output-to-dev-null-on-windows-when-extracting-a-7z ... –