[Python] argparse 와 os 차이점

Jaewon Lim·2024년 7월 16일
0

'argparse' 와 'os' 는 파이썬에서 제공하는 두 가지 모듈로, 'argparse'는 명령줄 인수 처리를 위한 모듈이고, 'os'는 운영체제와 상호작용하기 위한 모듈이다.

argparse

  • 이 모듈을 사용하면 스크립트가 실행될 때 명령줄에서 옵션과 인수를 정의하여 처리할 수 있다.
  • 파일 경로를 입력으로 받아, 그 파일을 읽어서 데이터를 처리하고 결과를 출력한다. 사용자에게 파일 경로와 출력 형식을 명령줄 인수로 제공하도록 한다.
import argparse

# ArgumentParser 객체 생성
parser = argparse.ArgumentParser(description='간단한 예제입니다.')

# 명령 줄 인자 추가
parser.add_argument('--name', required=True, help='사용자의 이름')
parser.add_argument('--age', required=False, type=int, default=20, help='사용자의 나이')

# 명령 줄 인자 파싱
args = parser.parse_args()

# 인자값 출력
print(f"안녕하세요, {args.name}님!")
print(f"나이: {args.age}")
$ python3 example.py --name Alice --age 30
안녕하세요, Alice님!
나이: 30

스크립트를 실행하면 위와 같이 출력이 된다. --age 인자를 생략하면 기본값인 20 출력.

예시)

  • description 과 help는 사용을 해야하는 의문이 든다. 'help'는 각 명령 줄 인자에 대한 설명을 제공하는데 사용된다. -h / --help 옵션을 통해 도움말 요청할 때 출력된다. 예시를 만들고 실행해 보겠다.
parser = argparse.ArgumentParser(description='이 프로그램은 사용자의 이름과 나이를 입력받아 인사하는 프로그램입니다.')
parser.add_argument('--name', required=True, help='사용자의 이름을 입력하세요.')
parser.add_argument('--age', required=False, type=int, default=20, help='사용자의 나이를 입력하세요.')
$ python3 example.py -h
usage: example.py [-h] --name NAME [--age AGE]

이 프로그램은 사용자의 이름과 나이를 입력받아 인사하는 프로그램입니다.

optional arguments:
  -h, --help            show this help message and exit
  --name NAME           사용자의 이름을 입력하세요.
  --age AGE             사용자의 나이를 입력하세요.
  • description 은 프로그램이 무엇을 하는지 설명하고, help 는 각 인자의 목적과 사용법을 설명한다.
    목적은 가독성과 사용법 전달을 위함이다.

os

  • 디렉토리 안의 파일들을 목록으로 만들고, 특정 조건에 따라 파일을 삭제하는 스크립트를 작성. 운영체제와 상호작용하며 파일 시스템 작업을 수행한다.
import os

# 현재 디렉토리의 파일 목록을 출력
current_dir = os.getcwd()
files = os.listdir(current_dir)
print(f"현재 디렉토리: {current_dir}")
print("파일 목록:")
for file in files:
    print(file)

# 특정 파일 삭제
file_to_delete = "old_file.txt"
if file_to_delete in files:
    os.remove(file_to_delete)
    print(f"{file_to_delete} 파일이 삭제되었습니다.")
else:
    print(f"{file_to_delete} 파일이 존재하지 않습니다.")

결론

argparse : 명령줄 인수를 정의하고 파싱하는 데 사용. 사용자로부터 다양한 입력을 받아 스크립트를 유연하게 실행할 수 있도록 한다. 사용자 입력 처리
os : 운영체제와 상호작용하여 파일 시스템 작업(디렉토리 변경, 파일 목록 가져오기, 파일 ㅅ삭제 등)을 수행하는데 사용한다. 파일 시스템 작업 수행

0개의 댓글