Python os.system: извлечение архивов с паролями
Есть строка, которая извлекает файлы из архивов:
os.system(rf'D:\Programs\7-Zip\7z.exe x {путь к файлу} -o{папка куда извлекаем} -p{пароль}')
Так вот, "пароль" берется из словаря с помощью for
и подставляется сюда.
Также все это завернуто в try
на случай, если пароль не подойдёт, то повторить уже с другим паролем, а если пароль подойдёт, то break
.
Но вот try
, видимо, не ловит ошибки из os.system
и перебирает дальше пароли, если даже он подошёл. И, получается, что когда пароль подходит, файлы извлекаются из архива, он дальше пробует другой пароль, и он, естественно, не подходит, но все равно извлекает уже файлы с 0 байтом (размером) и просит меня перезаписать те файлы.
Приходит сообщение вида "нажмите Y, если хотите перезаписать файл". Ну, и другие там N, Q и т.д. Как это исправить?
Источник: Stack Overflow на русском