Взявся я за допомогою Python вирішувати якісь практичні задачі. Зокрема, вирішив замінити невеличкий bash-скрипт, написаний моїм товаришем три роки тому, за допомогою якого я формую HTML-код для блогу із порожніми абзацами та фотографіями із поточної теки, куди залишається просто вписати текст. Код маленький, має такий вигляд:

Тобто, цей код зчитує всі файли із вказаним в ньому розширенням із поточної директорії і для кожного файлу формує рядок із HTML-кодом. Варто зазначити, що скрипт строго заточений під мої потреби, тому вам навряд чи згодиться. Він прекрасно працює, проте мене не у всьому задовольняє. А раз я взявся за Python так чому-б не наваяти щось своє — з блекджеком та шльондрами. І я наваяв.

О, скажете ви, попередній код такий маленький, всього пару рядочків, а твоє одоробало аж на 29 (і буде зростати). Я теж так подумав, але чим-же відрізняється моє від запозиченого?

  • Ну, по перше, BASH — спеціалізована скриптова мова для роботи із файловими об'єктами, Python — універсальна, тому в ній треба виконувати додаткові рухи, як от імпорт потрібних модулів та відкриття і закривання файлів.
  • У скрипті товариша шаблон URL вписаний у сам код і мені треба щоразу його переписувати та копіювати файл в нову директорію з фотографіями. В моєму скрипті URL формується автоматично, я можу закинути скрипт у системну теку і викликати його звідусіль. Ну, тобто, на BASH теж таке можна зробити, я просто виправдовую великі розміри.
  • Я додав до свого скрипту опції — він приймає параметри командного рядка і це впливає на вигляд результату — мені вже нічого не треба правити руками. Зокрема, можна вмикати автонумерацію, якщо допис великий і вмикати ескізи, якщо я їх роблю.
  • Мій скрипт одночасно приймає різні розширення файлів з фотографіями — при чому, без різниці, великими літерами воно написане, чи малими — як відомо, у світі Unix регістр літер у назвах файлів має значення.
  • Він, навіть, має вбудовану довідку — але це приємний бонус, реалізований засобами модуля argparse, по суті — не моя турбота.

В планах — прикрутити побільше корисних опцій, загрегатувати з imagemagic для автоматичної обробки фотографій та псування їх водяним знаком і, на останок, автоматичне вивантаження фотографій на сервер. Не перемикайтеся!

P.S. В прерспективних планах — змінити професію, студні мені вже не цікаві.