본문 바로가기
Python

[Python] Example: input, sys.argv and argparse

by ds31x 2023. 10. 10.

이자율과 만기(해당 만기 기준의 이자율)을 주고,

해당 만기 이자율을 기반으로 일복리로 계산한 경우와 연단리로 계산한 경우를 비교하는 예제임.

 

입력받는 정보는 다음과 같음.

  • 원금
  • 이자율(년)
  • 만기(지정한 이자가 붙는 만기)
  • 예치기간 (만기보다 적게 설정가능)

첨부된 source file은 다음과 같음.

  • py_io_simple_inter_raw.py 
    • 해당 입력정보를 hard coding으로 처리한 경우임.
  • py_io_simple_raw.py 
    • 한걸음 더나아가 input 함수를 이용함.
  • py_io_simple_inter.py 
    • 여기에 exception handling을 추가함.
  • py_io_simple.py
    • input()함수 대신 sys.argv를 사용하여 입력정보를 받아옴.
  • test.py 
    • input과 sys.argv를 모두 구현하였음.
    • exception handling을 하지 않음.

test.pyexception handling (예외처리)를 추가완성해볼 것.


추가적으로

py_io_argparse.pyargparse 모듈을 사용하여 입력정보를 받아오는데,

  1. argparse 모듈에 대해 조사하고,
  2. py_io_argparse.py 에 input 함수를 이용하는 interaction mode를 추가하여
    • 사용자가 input()을 이용하여 입력하는 모드를 선택하여 수행하거나
    • 아니면 python 실행시 argument로 넘겨줄지를 선택하도록 수정해보라.

참고로, 2번은 test.py 에서 sys.argv 대신 argparse를 사용하는 것이라고 볼 수 있음.


예제파일

py_io_simple_inter_raw.py
0.00MB
py_io_simple_raw.py
0.00MB
py_io_simple_inter.py
0.00MB
py_io_simple.py
0.00MB
test.py
0.00MB
py_io_argparse.py
0.00MB


참고자료

2023.10.10 - [Python] - [Python] input 함수 사용하여 사용자 입력받기.

 

[Python] input 함수 사용하여 사용자 입력받기.

Terminal에서 수행되는 CLI (Command Line Interface) 프로그램은 입력을 stdin (표준 입력, standard input)에서 받아드리고 출력은 stdout (표준 출력, standard output)에서 수행함. stdout과 stdin은 일종의 file stream이며

ds31x.tistory.com

https://ds31x.tistory.com/104

 

[Python] sys 모듈

sys 모듈은 interpreter에 의해 사용되거나 유지되는 variables와 interpreter와 밀접(interpreter 종료 등)하게 관련된 functions에 대한 access를 제공함. 주로 많이 이용되는 attributes는 다음과 같음. sys.argv Python

ds31x.tistory.com

https://dsaint31.tistory.com/477

 

[Python] argparse 사용하기.

Python에서 기본적으로 제공하는 명령어 인자 파서 모듈이다. command line inerface 으로 프로그램을 만들 때 기본적으로 필요하다. linux 쪽 경험이 풍부한 이들에겐 getopt가 보다 익숙하지만 그런 사람

dsaint31.tistory.com