Я использую библиотеку Fire в Python для создания простого интерфейса командной строки (CLI). Моя настройка следующая:
import fire
def main(a):
print('hi')
if __name__ == '__main__':
fire.Fire(main)
Когда я запускаю сценарий следующим образом:
$ python my_script.py 123
Печатает:
hi
Я хотел бы напечатать аргументы, переданные в main (в данном случае 123), прежде чем он напечатает «привет». Есть ли способ перехватить и распечатать аргументы в fire.Fire(main)?
Я пробовал изменить сигнатуру функции и добавить *args, но это меняет поведение функции с Fire.
Как я могу распечатать аргументы, переданные в main, с помощью Python Fire, не меняя логику внутри функции?
Попытка:
import fire
class MyWrapper:
def __init__(self, target):
self.target = target
def __getattr__(self, name):
def method(*args, **kwargs):
# Print the arguments passed to the Fire CLI
print(f"Method: {name}, Args: {args}, Kwargs: {kwargs}")
# Call the original method
return getattr(self.target, name)(*args, **kwargs)
return method
class MyCommands:
def greet(self, name="World"):
return f"Hello, {name}!"
if __name__ == '__main__':
fire.Fire(MyWrapper(MyCommands))
Подробнее здесь: https://stackoverflow.com/questions/789 ... ython-fire
Как распечатать аргументы, переданные функции при использовании Python Fire? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как распечатать аргументы, переданные функции при использовании Python Fire?
Anonymous » » в форуме Python - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как распечатать аргументы, переданные функции при использовании Python Fire?
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как распечатать аргументы, переданные функции при использовании Python Fire?
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я не знаю, почему я получаю ошибку при использовании настройки Flutter Fire
Anonymous » » в форуме Javascript - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-