기본 콘텐츠로 건너뛰기

라벨이 개발인 게시물 표시

Python에서 CLI 도구 만들기 (argparse vs click)

파이썬으로 명령줄 도구 만드는 중이신가요? 저도 얼마 전에 비슷한 작업을 했었는데, argparse 랑 click 이라는 두 라이브러리 때문에 꽤 고민했거든요. 둘 다 훌륭하지만, 어떤 걸 써야 할지 정말 헷갈리더라고요. 그래서 제가 직접 써보고 느낀 점들을 바탕으로 얘기해 드릴게요! 먼저, argparse 는 파이썬에 기본적으로 포함된 라이브러리예요. 기능은 정말 막강하죠. 마치 스위스 아미 나이프처럼, 세세하게 옵션을 조절할 수 있어요. 복잡한 도구를 만들 때는 정말 유용해요. 하지만, 간단한 걸 만들 때는 쓸데없이 코드가 길어지는 느낌이 들더라고요. 마치 거대한 대포로 모기를 잡는 것 같은 느낌이랄까요? 저는 처음에 argparse 로 시작했는데, 코드가 너무 길어지니까 나중에 수정하기가 힘들더라구요. 괜히 힘들게 했나 싶었어요. 반면에 click 은 외부 라이브러리인데, 사용하기가 훨씬 쉽고 간결해요. 마치 레고 블록처럼, 몇 개의 코드만으로도 멋진 명령줄 도구를 만들 수 있죠. 특히 데코레이터라는 기능을 사용하는데, 처음엔 좀 어렵게 느껴질 수도 있지만, 익숙해지면 코드가 정말 깔끔해져요. 저는 간단한 도구를 만들 때 click 을 사용했는데, 정말 속도가 빨랐어요. 코드도 짧고 이해하기도 쉬워서 좋았습니다. 마치 마법처럼 뚝딱 만들어지는 느낌이었어요! 실제로 제가 만들었던 간단한 파일 처리 도구 예시를 보여드릴게요. argparse 로 만든 코드는 이렇게 길어졌지만, click 으로 만든 코드는 훨씬 짧고 보기 편하더라고요. 1. argparse 예제 import argparse def main(): parser = argparse.ArgumentParser(description="파일 내용을 출력하거나 줄 수를 세는 도구") parser.add_argument("filename", help="읽을 파일 이름"...