Runscript - утиліта для запуску python скриптів

Runscript - утиліта для запуску python скриптів

Напевно, багатьом розробникам знайома ситуація, коли в проекті необхідно здійснити певні дії. Щоб зробити це ми створюємо спеціальний скрипт на Python, кладемо його в корінь проекту і запускаємо по необхідності. Таким чином з часом маємо захаращену кореневу директорію проекту, щоб позбавиться від цього вирішуємо перекинути всі скрипти в окрему папку і тут нас чекають проблеми.

Якщо ми вказуємо інтерпретатора python новий шлях, в якому міститься наша нова папка, то скрипти не спрацюють, оскільки не працюють обсяги імпорту пакетів, які розміщені в корені проекту, оскільки в sys.path кореня проекту немає. Є кілька варіантів виходу з такої ситуації. Ми можемо зробити маленьку утиліту для запуску скриптів, яка б перед їх стартом змінювала sys.path і покласти її в корінь. Можна і щось інше зробити. Але, мені це вже набридло, навіщо постійно винаходити колесо, якщо можна один раз зібрати велосипед і постійно на ньому кататися? Я так і зробив, створив runscript.

Бібліотека легко встановлюється через pip:

В результаті у вашій системі буде нова команда run, яка і буде запускати скрипти. Зі стандартними настройками вона буде шукати скрипти в папці script каталогу в якому ви перебуваєте на даний момент.

Розберемо її роботу на простенькому прикладі. Робимо папку script. Створимо порожнім файлик script / __ init__.py, зробивши даний каталог python-пакетом. Робимо ще один файлик script / preved.py, всередині пишемо:

Тепер у нас є скрипт, можна запускати:

Радіємо, скрипт запрацював. Команда дуже примітивна чи неправда? Вона просто запускає наші скрипти. Здавалося б, який в цьому сенс, але, коли в кожному проекті вам потрібно запускати простенькі скрипти, ви самі помітите, що постійно будете нею користуватися. Пізніше до цієї утиліті було додано корисні функції, зараз поговоримо про них.

Отримання параметрів через командний рядок

Якщо вам необхідно, щоб скрипт через командую рядок отримував певні параметри, необхідно прописати їх в setup_arg_parser в самому скрипті. На вхід функція отримає ArgumentParser, тут ви вказуєте необхідні параметри. Після виклику скрипта, значення параметрів передаються функції main.

Ось простий приклад:

Спробуємо запустити:

Активація Django

Чи користуєтеся фреймворком Django? Значить знаєте, що для роботи потрібно дещо зробити. А саме - створити environment змінної DJANGO_SETTING_MODULE, де вказано шлях до налаштувань. Як правило, в скрипти пітона вписують:

В Django 1.7 і старше додаємо ще й:

Для автоматизації за допомогою команди run нам необхідно зробити в корені файлик з настройками - run.ini:

Де шукати скрипти?

Дефолтних утиліта буде шукати скрип в пакетах script і grab.script. Щоб змінити такі місця в run.ini додаємо наступне:

Таким чином, виконавши ту ж команду «run preved» ми зробимо так, що утиліта буде намагатися імпортувати модуль preved в такому порядку:

Це ще не всі функції. Якщо у вас є питання, можете вивчити вихідний код

Вам необхідно якісне мережеве обладнання? Потрібен Cisco Catalyst 3850 на www.vtkt.ru можна його придбати. У компанії величезний вибір мережевого обладнання високої якості. За роки роботи він позитивно себе зарекомендувала, виконана маса ІТ проектів.

Ще записи по темі