[파이썬] argparse 파일 인수 처리

파이썬 프로그램을 실행할 때 파일 경로 및 옵션을 처리하는 것은 매우 일반적입니다. 이를 위해 argparse 라이브러리를 사용할 수 있습니다. argparse는 명령줄 인수를 분석하고 처리하기 위한 강력한 도구입니다.

argparse 라이브러리 설치

argparse를 사용하기 위해서는 우선 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 패키지 관리자를 통해 설치할 수 있습니다.

pip install argparse

argparse를 사용한 파일 인수 처리 예제

다음은 argparse를 사용하여 파일 경로와 옵션을 처리하는 예제 코드입니다.

import argparse

# 1. ArgumentParser 인스턴스 생성
parser = argparse.ArgumentParser(description='파일 경로와 옵션을 처리하는 예제')

# 2. 파일 경로에 대한 인수 추가
parser.add_argument('file', type=str, help='파일 경로')

# 3. 옵션에 대한 인수 추가
parser.add_argument('-s', '--sort', action='store_true', help='파일을 정렬하여 출력')

# 4. 파싱 시작
args = parser.parse_args()

# 5. 파일 경로 출력
print('파일 경로:', args.file)

# 6. 옵션 여부 확인 및 출력
if args.sort:
    print('파일을 정렬하여 출력합니다.')
else:
    print('파일을 정렬하지 않고 출력합니다.')

위의 코드 예제는 다음과 같은 기능을 수행합니다.

  1. ArgumentParser 인스턴스를 생성합니다.
  2. file이라는 이름의 위치 인수를 추가합니다. 이 위치 인수는 파일의 경로를 받습니다.
  3. -s 또는 --sort 옵션을 추가합니다. 이 옵션은 파일을 정렬하여 출력하는지를 결정합니다.
  4. parse_args()를 호출하여 명령줄 인수를 파싱합니다.
  5. 파일 경로를 출력합니다.
  6. sort 옵션의 여부에 따라 적절한 메시지를 출력합니다.

프로그램 실행 예제

위의 예제 코드를 example.py라는 이름으로 저장하고, 터미널에서 다음과 같이 실행해보세요.

python example.py /path/to/file.txt -s

위 명령어는 /path/to/file.txt 파일을 정렬하여 출력할 것입니다.

python example.py /path/to/file.txt

위 명령어는 /path/to/file.txt 파일을 정렬하지 않고 출력할 것입니다.

이렇게 argparse를 사용하면 명령줄에서 파일 경로와 옵션을 간편하게 처리할 수 있습니다. argparse는 더 복잡한 인수 처리 기능도 제공하기 때문에 다양한 상황에 유용하게 사용할 수 있습니다.