python getopt 예제

이전 예제에서 호출을 변경한 후 차이점이 명확해집니다. getopt 모듈은 C getopt() 함수의 사용자에게 친숙하도록 설계된 명령줄 옵션에 대한 파서입니다. C getopt() 함수에 익숙하지 않거나 코드를 적게 작성하고 더 나은 도움말 및 오류 메시지를 받으려는 사용자는 argparse 모듈을 대신 사용하는 것이 좋습니다. 그래서, 이것은 별도의 목록에서 옵션과 인수를 수집했다. getopt의 가장 좋은 점은 가능한 예외를 정상적으로 관리할 수 있다는 것입니다: Python은 명령줄 옵션과 인수를 구문 분석하는 데 도움이 되는 getopt 모듈을 제공했습니다. 이 모듈은 명령줄 인수 구문 분석이 가능하도록 두 가지 함수와 예외를 제공합니다. getopt이 입력 인수에서 발생하는 경우 나머지 인수를 옵션으로 처리하지 않습니다. GNU getopt()와 달리 비옵션 인수 후 모든 추가 인수도 비옵션으로 간주됩니다. 이는 GNU 가 아닌 유닉스 시스템이 작동하는 방식과 유사합니다. 다음은 -o, -v, –출력, –자세한 내용 및 –버전 : 5 가지 옵션을 취하는 보다 완전한 예제 프로그램입니다. -o, –출력 및 –버전 옵션에는 각각 인수가 필요합니다.

이제 이것은 언뜻 보기에 까다로울 것입니다. 우리는 까다로울 것입니다 간단한 예를 볼 수 있지만 우리는 나중에 일을 설명 할 것입니다. long_options(지정한 경우)는 지원해야 하는 긴 옵션의 이름이 있는 문자열 목록이어야 합니다. 선행 `–` 문자는 옵션 이름에 포함되지 않아야 합니다. 인수가 필요한 긴 옵션 뒤에는 등호(`=`)가 따라야 합니다. 선택적 인수는 지원되지 않습니다. 긴 옵션만 허용하려면 옵션은 빈 문자열이어야 합니다. 명령줄의 긴 옵션은 허용된 옵션 중 하나와 정확히 일치하는 옵션 이름의 접두사를 제공하는 한 인식할 수 있습니다. 예를 들어 long_options가 [`foo`, `frob`]인 경우 옵션 –foo로 일치하지만 –f는 고유하게 일치하지 않으므로 GetoptError가 발생합니다.

좋은 튜토리얼. 그러나, 그것을 밖으로 시도 하 고 온라인 피드의 몇 가지를 읽고에서, 스크립트 는 lst getopt.py 반환 하는 lst 이름을 지정 하지 않아야 합니다–getopt` 모듈에는 아무 속성 `GetoptError – .