fire 라이브러리는 Python 함수나 클래스를 커맨드라인에서 바로 호출할 수 있도록 해줍니다. 또한 커맨드라인의 인자를 함수의 인자로 매핑하는 기능도 제공합니다.
2024. 1. 14 최초작성
커맨드라인의 인자를 함수의 인자로 매핑해주는 예제 코드입니다. 커맨드라인 인자가 calculator 함수의 인자로 패핑이 됩니다.
import fire def calculator(num1, num2): """ 간단한 계산기 함수 :param num1: (float) 첫 번째 숫자 :param num2: (float) 두 번째 숫자 Returns: float: 계산 결과 """ return num1 + num2 if __name__ == '__main__': fire.Fire(calculator) |
실행결과입니다. 아무 인자 없이 실행하면 인자에 대한 설명이 출력됩니다.
(python311) webnautes@webnautes-laptop:~$ python test.py
ERROR: The function received no value for the required argument: num1
Usage: test.py NUM1 NUM2
For detailed information on this command, run:
test.py --help
인자를 다음처럼 1과 2로 주면 calculator 함수의 인자로 사용되어 계산 결과 3이 출력됩니다.
(python311) webnautes@webnautes-laptop:~$ python test.py 1 2
3
커맨드라인에서 함수를 바로 호출하는 예제 코드입니다.
import fire class Calculator(object): def add(self, num1, num2): return num1 + num2 def subtract(self, num1, num2): return num1 - num2 def multiply(self, num1, num2): return num1 * num2 def divide(self, num1, num2): return num1 / num2 if __name__ == '__main__': fire.Fire(Calculator) |
아무 인자 없이 실행하면
(python311) webnautes@webnautes-laptop:~$ python test.py
설명이 다음처럼 보이며 q를 누르면 빠져나옵니다.
다음처럼 함수 이름을 인자로 주고 뒤에 연산할 숫자 2개를 주면 해당 함수로 전달되어 계산 결과가 출력됩니다.
(python311) webnautes@webnautes-laptop:~$ python test.py add 1 2
3
(python311) webnautes@webnautes-laptop:~$ python test.py subtract 1 2
-1
(python311) webnautes@webnautes-laptop:~$ python test.py multiply 1 2
2
(python311) webnautes@webnautes-laptop:~$ python test.py divide 1 2
0.5
'Python > Python 예제 코드' 카테고리의 다른 글
Python Subprocess 모듈 사용법 (0) | 2024.03.04 |
---|---|
파이썬 두 변수 값 바꾸기 (0) | 2024.01.27 |
Python 독테스트(Doctest) - 간단한 테스트 자동화 (0) | 2023.12.21 |
주어진 ( 시작값 , 끝값 ) 튜플을 서브 튜플로 나누는 파이썬 예제 (0) | 2023.12.19 |
Python 독스트링(Docstring) 사용법 (13) | 2023.12.14 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!