Существует много литературы о том, как запускать команды оболочки из python, но мне интересно делать противоположное. У меня есть python-модуль mycommands.py, который содержит такие функции, как ниже
def command(arg1, arg2):
pass
def command1(arg1, arg2, arg3):
pass
где аргументы функции - все строки. Цель состоит в том, чтобы иметь возможность запускать эти функции из bash, как показано ниже
$ command arg1 arg2
$ command1 arg1 arg2 arg3
До сих пор у меня есть следующая грубая настройка в .bash_profile, где я должен обеспечить привязку bash к каждой функции python вручную
function command() {
python -c "import mycommand as m; out=m.command('$1', '$2'); print(out)"
}
function command1() {
python -c "import mycommand as m; out=m.command1('$1', '$2', '$3'); print(out)"
}
Было бы неплохо, если бы у вас была одна команда bash, например
$ import_python mycommands.py
который автоматически импортирует все функции python в модуле в виде команд bash. Существует ли библиотека, которая реализует такую команду?