[파이썬] argparse와 config 파일 통합

여러분이 파이썬으로 작업할 때, 자주 사용되는 두 가지 개념은 argparseconfig 파일입니다. argparse는 명령줄 인자를 파싱하기 위한 표준 라이브러리이며, config 파일은 애플리케이션 설정을 저장하기 위한 파일입니다. 일반적으로 이러한 두 가지 개념은 각각 독립적으로 사용되지만, 때로는 두 개념을 통합하여 더 유연하고 편리한 파라미터 관리를 할 수 있습니다.

argparse 라이브러리 소개

argparse는 명령줄 인자를 파싱하기 위해 사용되는 파이썬의 표준 라이브러리입니다. 이 라이브러리를 사용하면 명령줄에서 입력받은 인자들을 쉽게 처리할 수 있습니다.

간단한 예제를 통해 argparse의 기능을 살펴보겠습니다.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--input", help="input file path")
parser.add_argument("--output", help="output file path")
args = parser.parse_args()

if args.input:
    print("Input file:", args.input)
if args.output:
    print("Output file:", args.output)

위의 코드는 --input--output이라는 두 개의 명령줄 인자를 처리하는 예제입니다. 프로그램을 실행할 때 --input--output 뒤에 입력 값을 넣으면, 해당 입력 값이 args.inputargs.output 변수에 저장됩니다.

config 파일 사용하기

일반적으로 파이썬 애플리케이션에서 설정은 config 파일에 저장됩니다. config 파일은 인자를 통해 전달되는 값이 아니라, 애플리케이션 실행 전에 미리 작성된 파일로부터 값을 읽어옵니다.

간단한 config 파일 예제를 살펴보겠습니다.

[input]
file_path = /path/to/input.txt

[output]
file_path = /path/to/output.txt

위의 config 파일은 input 섹션과 output 섹션으로 구성되어 있습니다. 각 섹션에는 해당하는 파일의 경로(file_path)가 설정되어 있습니다.

argparse와 config 파일 통합하기

argparse와 config 파일을 통합하여 파라미터를 관리하는 방법은 다양합니다. 가장 일반적인 방법은 argparse로 전달된 인자들을 config 파일에 저장된 값으로 덮어쓰는 것입니다.

config 파일을 파싱하기 위해 configparser 모듈을 사용할 수 있습니다. 해당 모듈을 사용하여 config 파일에서 값을 읽어온 다음, argparse와의 통합을 위해 argparse의 인자를 config 파일의 값으로 덮어쓰면 됩니다.

다음은 argparse와 config 파일을 통합하는 예제입니다.

import argparse
import configparser

config = configparser.ConfigParser()
config.read("config.ini")

parser = argparse.ArgumentParser()
parser.add_argument("--input", default=config.get("input", "file_path"), help="input file path")
parser.add_argument("--output", default=config.get("output", "file_path"), help="output file path")
args = parser.parse_args()

print("Input file:", args.input)
print("Output file:", args.output)

위의 코드에서는 config 파일인 config.ini을 읽어와 --input--output 명령줄 인자의 기본값으로 설정하고 있습니다. 이렇게 함으로써, config 파일에 값을 설정하지 않은 경우에도 argparse의 인자가 기본값으로 설정되어 프로그램이 정상적으로 실행될 수 있습니다.

결론

argparse와 config 파일은 파이썬 애플리케이션에서 사용되는 중요한 개념입니다. 두 개념을 통합하여 파라미터를 관리하면, 더 유연하고 효율적인 애플리케이션을 개발할 수 있습니다. argparse로 전달되는 인자들을 config 파일로부터 읽어와 덮어쓰는 방식은 많은 파이썬 프로젝트에서 사용되는 패턴 중 하나입니다.