[파이썬] argparse에서의 값을 파일로 출력

Python의 argparse 모듈은 명령줄 인자를 파싱하고 해석하는 기능을 제공합니다. 그러나 argparse 모듈을 사용하여 파싱된 값을 파일로 출력하는 것은 추가적인 노력이 필요합니다. 이번 포스트에서는 argparse에서 파싱된 값을 파일에 출력하는 간단한 방법을 알아보겠습니다.

Step 1: argparse를 사용하여 값을 파싱하기

먼저, argparse를 사용하여 명령줄 인자를 파싱하는 코드를 작성해보겠습니다. 아래의 예시 코드는 -f 옵션과 파일 이름을 통해 파싱된 값을 출력하는 예제입니다.

import argparse

def parse_arguments():
    parser = argparse.ArgumentParser(description='파일로 출력할 값을 지정하세요')
    parser.add_argument('-f', '--filename', type=str, help='출력할 파일의 이름')
    args = parser.parse_args()
    return args

def main():
    args = parse_arguments()
    print(f'출력할 파일 이름: {args.filename}')

if __name__ == "__main__":
    main()

위 코드를 실행하면, -f 옵션과 함께 지정한 파일 이름을 터미널에서 출력하게 됩니다.

Step 2: argparse에서 파싱된 값을 파일에 출력하기

이제 파싱된 값을 파일로 출력하는 코드를 작성해보겠습니다. 아래 예시 코드는 파싱된 값을 output.txt 파일에 저장하는 예제입니다.

import argparse

def parse_arguments():
    parser = argparse.ArgumentParser(description='파일로 출력할 값을 지정하세요')
    parser.add_argument('-f', '--filename', type=str, help='출력할 파일의 이름')
    args = parser.parse_args()
    return args

def save_to_file(filename, content):
    with open(filename, 'w') as f:
        f.write(content)
    print(f'값이 파일 {filename}에 저장되었습니다.')

def main():
    args = parse_arguments()
    content = f'출력할 파일 이름: {args.filename}'
    save_to_file('output.txt', content)

if __name__ == "__main__":
    main()

위 코드를 실행하면, -f 옵션과 함께 지정한 파일 이름을 output.txt 파일에 저장하게 됩니다.

실행 방법

위의 예제 코드를 script.py 파일로 저장한 다음, 아래와 같이 터미널에서 실행해보세요.

python script.py -f sample.txt

이렇게 실행하면 sample.txt 파일에 출력할 파일 이름: sample.txt라는 내용이 저장됩니다.

이처럼 argparse를 사용하여 값을 파싱하고 이를 파일에 저장하는 방법을 확인할 수 있습니다. 이를 응용하여 더 복잡한 명령줄 인터페이스를 처리하는 코드를 작성할 수도 있습니다.