python click 예제

그러나 몇 가지 연구 후, 나는 „클릭“모듈을 발견했다. 그래서, 오늘, 우리는 파이썬과 클릭을 사용하여 기본 응용 프로그램을 만들려고합니다. 이 예제에서는 기본 웹 API에 액세스하려면 명령줄 도구를 호출할 때마다 API 키를 지정해야 합니다. 그것은 꽤 성가신 수 있습니다. 도구가 이를 처리하는 방법을 개선해야 하는 몇 가지 옵션을 살펴보겠습니다. 보시다시피 함수를 만들고 @click.command() 데코레이터를 추가하기만 하면 됩니다. 이렇게 하면 스크립트의 주요 진입점인 클릭 명령으로 변환됩니다. 이제 명령줄에서 실행할 수 있으며 다음과 같은 것을 볼 수 있습니다: 이제 사용자가 제공한 API 키를 구성 파일에 저장하고 있습니다. 그러나 위에서 보여 준 것처럼 사용자에게 API 키를 요청할 수 있습니까? 적절 하 게 명명 된 click.prompt를 사용 하 여.

그러나 이러한 파이썬 명령줄 스크립트가 증가하고 더 복잡해지면 어떤 옵션이 있습니까? 파이썬 설명서에서 두 가지 모두에 대한 자세한 내용을 찾을 수 있지만 argparse 스크립트가 어떻게 생겼는지 알려주기 위해 여기에 예제가 있습니다. 옵션의 경우, 그것은 선도 대시를 제거하고 뱀 케이스로 변신. –api-키가 api_key가 됩니다. 필수 인수를 특정 기능을 제공하는 새 명령(하위 명령이라고도 함)으로 사용합니다. 예를 들어 heroku 로그인은 로그인이 성공하면 당신을 인증하고 구성 파일에 토큰을 저장합니다. 위의 예제에 API 키가 포함되어 있기 때문에 이 😱 얼굴로 화면을 보는 경우 샘플 API 키가 제공하는 것을 걱정하지 마십시오. 이것은 optparse 및 argparse와 같은 파이썬 모듈이 들어와서 인생을 훨씬 쉽게 만드는 곳입니다. 그러나 이 에 대해 자세히 살펴보기 전에 용어를 바로 살펴보겠습니다.

위의 예제에서 더 중요 한 관찰은 두 개의 쿼리 매개 변수를 보내는 것입니다 (HTTPie를 사용 하는 경우 == 참조) 현재 날씨를 얻을: 우리는 그 지식을 사용 하 고 간단한 스크립트에서 간단한 스크립트에서 명령줄 인수, 옵션 및 CLI에 단계별로 이동 합니다. 유용한 사용 지침. 이 모든 것을 클릭이라는 프레임 워크의 힘을 사용합니다. cli 함수에 또 다른 데코레이터를 추가했습니다. click.option() 데코레이터에서 먼저 -자세한 내용을 사용하여 플래그를 전달한 다음 이 옵션을 부울 플래그로 표시한 다음 마지막으로 도움말 텍스트를 추가했습니다. ApiKey를 매개 변수의 유형으로 사용할 때 Click은 변환 메서드를 호출하고 사용자의 입력을 값 인수로 전달합니다. 매개 변수는 click.option 또는 click.argument 데코레이터를 사용하여 선언한 매개 변수를 포함합니다. 마지막으로 ctx는 이 자습서의 후반부에서 이야기할 명령의 컨텍스트를 참조합니다. 이 자습서에서는 구성 파일에 데이터를 저장하는 기능을 추가하여 기존 도구를 확장합니다. 또한 Python 명령줄 앱에서 사용자 입력의 유효성을 검사하는 여러 가지 방법을 배웁니다.

스크립트에 명령과 매개 변수를 추가하는 것은 매우 강력하지만 명령줄의 구문 분석은 생각만큼 간단하지 않습니다. 직접 쓰기 시작하는 대신이 문제를 이미 해결 한 Python의 많은 패키지 중 하나를 사용해야합니다. CLI와 프레임 워크에 대해 충분히 이야기했습니다. 클릭으로 간단한 CLI를 구축하는 것이 무엇을 의미하는지 살펴 보겠습니다. 이 자습서의 첫 번째 예제와 마찬가지로 콘솔에 인쇄하는 간단한 클릭 기반 CLI를 만들 수 있습니다. 그것은 많은 노력을 하지 않습니다: 당신은 아마 위의 코드 예제를 보고, 생각 „이러한 것 들 중 무엇을 의미 합니까?“ 그리고 그것은 정확히 내가 argparse와 가진 문제 중 하나입니다 : 그것은 직관적이지 않고 읽기 어렵다. 도구에 인수를 추가할 수도 있습니다. 이러한 값은 필수 항목이며 기본값이 제공되지 않으면 문자열로 간주됩니다. 아래 예제에서 스크립트는 카운티 이름을 지정할 것으로 예상합니다.