'옵션'에 해당되는 글 1건

  1. 2020.08.18 Python 파일 실행 옵션 만들기

01. 간단 예제

 

Python 코드를 작성하고, 실행할 때 각종 변수에 해당하는 값들을 바꿔가며 실행해야 될 경우가 있습니다.

 

혹은 외부 프로그램이 내 파이썬 코드를 실행한다고 하면, 상황에 맞게 마치 함수처럼 내 코드 전체를 실행하고 싶을 수 있습니다.

 

Python 에서는 이러한 상황에서  argparse를 이용해서 간편하게 실행할 때 입력해 줄 수 있는 옵션을 지정 할 수 있습니다.

argparse 예제 - 1

 

위와 같이 argparse를 통해 파이썬 실행시 입력되는 문자열을 파싱하여 그 값을 읽어오고 코드 내부에서 사용할 수 있습니다.

 

argparse 예제 - 1 실행결과

argparse를 이용하면 이렇게 쉽게 실행 옵션을 삽입 할 수 있습니다.

특히, 프로그램을 실행하는 과정에서 주고받는 데이터가 저장되는 경로나 출력이 저장될 경로는 수시로 바뀔 수 있기 때문에 옵션으로 처리해두면 추후에 변경사항에 대해서 유연하게 대처하기 쉬워집니다.

이 외에도, 중요 함수들의 입력값을 미리 옵션으로 처리해두면 코드를 변경하지 않고, 함수에 입력 값들을 변경하면서 사용 가능합니다.

 

02. 옵션으로  list 처리하기

'str', 'int', 'float' 등의 자료형 이외에 리스트를 입력으로 넣고 싶은 경우가 많습니다.

하지만 type에 list를 입력하고, 실제 실행할 때 리스트 형태의 입력을 던져주면 에러가 발생합니다.

argparse 예제 - 2
default 값에선 인식하는데 실제 옵션으로 사용하면 error 발생!?

 

list 를 입력으로 받기 위해서는 추가로 nargs='+'라는 옵션이 필요합니다.

 

argparse 예제 - 2 수정
옵션으로 list 사용하기

 

type을 그대로 list로 두고 nargs='+'를 넣으면, 연속된 숫자를 하나의 행으로 하는 리스트 타입이 만들어 지기도 합니다.

 

type=list, nargs='+'
띄어쓰기를 통해 행을 구분

 

알아두시고 상황에 따라 적절하게 사용하시면 좋을 것 같습니다.

 

마지막으로 list를 사용하는 부분에 관련하여 참고한 링크를 첨부합니다.

https://stackoverflow.com/questions/15753701/how-can-i-pass-a-list-as-a-command-line-argument-with-argparse

 

How can I pass a list as a command-line argument with argparse?

I am trying to pass a list as an argument to a command line program. Is there an argparse option to pass a list as option? parser.add_argument('-l', '--list', type=list, acti...

stackoverflow.com

 

감사합니다.

'Python' 카테고리의 다른 글

[Python] ffmpeg 커맨드창 실행 안되게 하는 방법  (0) 2020.10.26
Python FTP 활용하기  (0) 2020.08.08
Posted by EnergyCastle
,