Что вам действительно может понравиться, так это Mac OS Services. Это рабочие процессы Automator, которые можно легко интегрировать в операционную систему в зависимости от контекста: например, вы можете сделать так, чтобы ваш скрипт появлялся в контекстном меню Finder при выборе папки.
Вы можете сделать сервис из скрипта Python следующим образом:
- Откройте Automator.app и создайте новый Сервис;
- В верхней части блока рабочего процесса вы выбираете, какой тип ввода ожидает ваше приложение (папки, по вашему выбору, если я правильно понимаю);
- Перетащите блок «Run Shell Script» из левой панели в рабочий процесс;
Теперь вы можете использовать оболочку bash по умолчанию (/bin/bash
) для вызова вашего скрипта:
/full/path/to/your/python /full/path/to/your/script.py $@
Или используйте /usr/bin/python
(Python по умолчанию) и вставьте свой код прямо в текстовый блок;
- Не забудьте установить
Pass input: as arguments
в правом верхнем углу блока.
Немного сложно отлаживать такие рабочие процессы (так как вы не увидите stdout & stderr). Возможный обходной путь для отладки - настроить пользовательский excepthook
и вывести все исключения в какой-нибудь простой текстовый файл:
import sys, traceback
def excepthook(type, exc, tb):
with open("error.log", "a") as f:
traceback.print_exc(file=f)
sys.excepthook = excepthook