Python 명령줄 프로그램 만들기

PythonBeginner
지금 연습하기

소개

명령줄(command line) 또는 명령줄 인터페이스(CLI)라고도 하는 Python 명령줄 인터페이스는 터미널이나 명령 프롬프트에 명령을 입력하여 컴퓨터 프로그램과 상호 작용하는 방법입니다. 이를 통해 사용자는 프로그램을 실행하고 인수를 전달할 수 있으며, 텍스트 형식으로 프로그램의 출력을 받을 수 있습니다. 명령줄 인터페이스는 작업 자동화, 스크립트 실행, 그래픽 사용자 인터페이스(GUI)를 통해 수행하기 어렵거나 불가능한 고급 또는 복잡한 작업을 수행하는 데 특히 유용합니다.

이 실습에서는 argparse 모듈을 사용하여 Python 프로그램용 명령줄 인터페이스를 만드는 방법을 배웁니다. 간단한 예제부터 시작하여 점차 더 복잡한 예제로 나아갈 것입니다. 이 실습을 마칠 때쯤이면 argparse 모듈을 사용하여 Python 프로그램에 강력한 명령줄 인터페이스를 만드는 방법을 잘 이해하게 될 것입니다.

학습 목표

  • argparse 모듈
  • Python 스크립트
이 실습은 학습과 연습을 돕기 위한 단계별 지침을 제공하는 가이드 실습입니다. 각 단계를 완료하고 실무 경험을 쌓으려면 지침을 주의 깊게 따르십시오. 과거 데이터에 따르면 이 실습은 초급 수준이며 완료율은 81%입니다. 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

Argparse 모듈 가져오기

argparse 모듈을 사용하는 첫 번째 단계는 모듈을 가져오는(import) 것입니다.

코드가 포함될 Python 파일을 만들어야 합니다.

touch my_program.py

Python 스크립트의 시작 부분에 다음 코드 줄을 추가하여 이를 수행할 수 있습니다.

import argparse

파서(Parser) 객체 생성

argparse 모듈을 가져온 후에는 ArgumentParser() 함수를 호출하여 파서 객체를 만들 수 있습니다. 이 함수는 여러 선택적 인수를 취하지만, 지금은 프로그램에 대한 간단한 설명만 제공하겠습니다.

parser = argparse.ArgumentParser(description="간단한 명령줄 인터페이스입니다.")

인수 추가

이제 파서 객체가 있으므로 인수를 추가할 수 있습니다. 위치 인수(positional arguments) 및 선택적 인수(optional arguments)와 같이 추가할 수 있는 여러 유형의 인수가 있습니다. 예를 들어, 다음과 같이 위치 인수를 추가할 수 있습니다.

parser.add_argument("name", help="당신의 이름")

그리고 다음과 같이 선택적 인수를 추가할 수 있습니다.

parser.add_argument("-n", "--number", help="메시지를 반복할 횟수", type=int, default=1)

인수 파싱

모든 인수를 추가한 후에는 파서 객체의 parse_args() 함수를 호출하여 인수를 파싱할 수 있습니다. 이 함수는 인수를 취하지 않으며 모든 인수 값을 포함하는 객체를 반환합니다.

args = parser.parse_args()

인수 사용

이제 인수를 파싱했으므로 프로그램에서 사용할 수 있습니다. 예를 들어, 다음과 같이 name 인수를 사용할 수 있습니다.

print("Hello, " + args.name)

선택적 인수는 다음과 같이 사용합니다.

print("Hello, " + args.name * args.number)

전체 코드

위에 설명된 모든 단계가 포함된 실습의 전체 코드는 다음과 같습니다.

import argparse

## 파서 객체 생성
parser = argparse.ArgumentParser(description="간단한 명령줄 인터페이스입니다.")

## 인수 추가
parser.add_argument("name", help="당신의 이름")
parser.add_argument("-n", "--number", help="메시지를 반복할 횟수", type=int, default=1)

## 인수 파싱
args = parser.parse_args()

## 인수 사용
print("Hello, " + args.name * args.number)

명령줄에서 파일이 있는 디렉토리로 이동한 다음 python my_program.py를 입력하고 스크립트에 전달하려는 인수를 입력하여 스크립트를 실행할 수 있습니다.

python my_program.py "John" --number 3

그러면 콘솔에 "Hello, JohnJohnJohn"이 출력됩니다.

요약

이 실습에서는 argparse 모듈을 사용하여 Python 프로그램용 명령줄 인터페이스를 만드는 방법을 배웠습니다. argparse 모듈을 가져오고, 파서 객체를 만들고, 파서에 인수를 추가하고, 인수를 파싱하고, 프로그램에서 사용하는 방법을 살펴보았습니다. 이 지식을 바탕으로 Python 프로그램에 강력한 명령줄 인터페이스를 만들 수 있을 것입니다.