#linux #python_3x #функции #bash
Хотелось бы реализовать что-то типа "python3 проект.py --функция", и выдавалось только то содержимое, что было в функции? def func(): print("Hello, World!") def func2(): print("World, Hello!") И затем $ python3 файл.py *колдовство, обращение только к функции func2* Вывод был таким: World, Hello!
Ответы
Ответ 1
Предлагаю такое решение: import sys def func(): print("Hello, World!") def func2(): print("World, Hello!") name = sys.argv[1] f = globals().get(name) if f: f() Пример использования: $ python file.py func Если функции с указанным именем не будет, скрипт ничего не выведет. Можете модифицировать его на вывод ошибки: if f: f() else: print('No such method: %s' % name)Ответ 2
Если у вас есть module модуль, определённый в module.py файле, расположенный в одной из sys.path директорий (текущая директория включена в pythonpath для -c), то чтобы вызвать функцию function из этого модуля: $ python -c 'import module; module.function()'
Комментариев нет:
Отправить комментарий