[파이썬] argparse와 shell script 통합

사용자와 상호작용하여 입력을 받는 프로그램을 작성할 때, argparse는 매우 유용한 도구입니다. 그러나 경우에 따라서는 shell script와의 통합이 필요할 수 있습니다. 이 블로그 포스트에서는 파이썬에서 argparse와 shell script를 통합하는 방법에 대해 알아보겠습니다.

argparse를 사용한 입력 처리

argparse는 명령행 인수를 파싱하고 처리하기 위한 파이썬의 기본 라이브러리입니다. argparse를 사용하면 사용자가 프로그램에 전달하는 인수를 정의하고, 이를 통해 입력을 처리할 수 있습니다. 예를 들어, 다음은 “name”이라는 인수를 받아서 출력하는 간단한 프로그램입니다.

import argparse

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--name", help="Enter your name")
    
    args = parser.parse_args()
    print(f"Hello, {args.name}!")

if __name__ == "__main__":
    main()

이 코드를 실행해보면, 다음과 같이 명령행에서 --name 옵션을 사용하여 값을 전달할 수 있습니다.

$ python myprogram.py --name John
Hello, John!

shell script와의 통합

어떤 경우에는 파이썬 프로그램을 shell script에서 호출하거나, 파이썬 코드가 shell script 안에서 실행되어야 할 수 있습니다. 이런 경우에는 argparse를 사용하여 shell script와의 통합을 할 수 있습니다.

예를 들어, 다음은 shell script로부터 파이썬 프로그램을 호출하여 인수를 전달하는 간단한 예입니다. 이 예제에서는 name이라는 환경 변수를 사용하여 값을 전달합니다.

#!/bin/bash

name="John"
python myprogram.py --name "$name"

파이썬 프로그램은 argparse를 사용하여 --name 인수를 처리하도록 구현되어 있습니다. 따라서 shell script에서 환경 변수를 설정하고 파이썬 프로그램을 호출할 때 이 인수를 전달할 수 있습니다.

이렇게 함으로써, 파이썬 프로그램과 shell script를 통합하여 유연하게 입력을 처리할 수 있습니다.

결론

이 블로그 포스트에서는 argparse와 shell script를 통합하는 방법에 대해 살펴보았습니다. argparse를 사용하여 명령행 인수를 처리하고, 이를 shell script와 연동하여 프로그램을 보다 유연하게 만들 수 있습니다. argparse와 shell script의 통합은 파이썬 프로그램 개발에서 유용한 기술이며, 다양한 상황에서 활용할 수 있습니다.