LINUX.ORG.RU

Сообщения Vizarax

 

Использовании python как замена (почти) bash для скриптов

Всем привет. Видел несколько тем на форуме, но там немного другой характер вопроса. Я сейчас в ситуации, когда приходится использовать и линукс, и окна. Поэтому я хочу унифицировать в скрипте ряд действий, которые приходится постоянно делать.

Для примера возьмем imagemagick и ghostscript. На вход я передаю путь до папки с кучей сканов в pdf и ключ объединения (объединять все pdf в один или оставить в разных файлах). Не считая разных команд (в окнах IM используется через команду magick, а в линуксе через convert), все остальное одинаковое. Я прочитал про subprocess и его метод run. В данном случае он будет уместен? Т. е. код такого вида

if sys.platform.startswith("linux"):
    subprocess.run(['convert', '-density 300', '-quality 85%', inputFile, outputFile])
elif sys.platform.startswith("win"):
    subprocess.run(['magick', '-density 300', '-quality 85%', inputFile, outputFile])
else:
    print('Платформа не поддерживается')

Правильно я применяю subprocess? И как в данном случае унифицировать отлавливание ошибок? Естественно внедрением каких-то серьезных вещей, вроде модулей логера или юнит-тестов я заниматься не буду. Это просто элементарные скрипты для упрощение части рутины.

И вообще, как сейчас смотрится идея использования python как замена для bash, кроме случае с однострочниками? Предполагается использование subprocess для обращения к программам.

 ,

Vizarax
()

RSS подписка на новые темы