>  기사  >  백엔드 개발  >  Python에서 argparse를 사용하여 목록을 명령줄 인수로 처리하는 방법은 무엇입니까?

Python에서 argparse를 사용하여 목록을 명령줄 인수로 처리하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-27 17:57:30913검색

How to Handle Lists as Command-Line Arguments with argparse in Python?

argparse를 사용하여 목록을 명령줄 인수로 처리

Python에서 argparse 모듈은 명령줄 인수의 구문 분석을 용이하게 합니다. 목록을 인수로 사용하여 작업할 때 적절한 옵션을 이해하는 것이 중요합니다.

nargs

한 가지 방법은 nargs를 활용하는 것입니다. 옵션. 기본적으로 nargs=1은 단일 인수를 허용합니다. 그러나 nargs=' ' 또는 nargs='*'를 사용하면 여러 인수가 허용됩니다.

<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag')</code>

action='append'

또 다른 대안은 action='append입니다. '. 이 접근 방식은 발견된 각 인수를 단일 인수로 수집하는 대신 목록에 추가합니다.

<code class="python">parser.add_argument('-l', '--list', action='append', help='Set flag')</code>

type=list를 피하세요

반면에 type=list를 사용하면 일반적으로 argparse에는 권장되지 않습니다. 각 인수를 목록으로 해석하여 목록 목록을 생성합니다.

데모

제공된 코드는 다음 옵션의 사용을 보여줍니다.

<code class="python">import argparse

parser = argparse.ArgumentParser()

# Demonstration with nargs
parser.add_argument('--nargs', nargs='+')

# Demonstration with action='append'
parser.add_argument('--append-action', action='append')

for _, value in parser.parse_args()._get_kwargs():
    if value is not None:
        print(value)</code>

출력:

스크립트가 python arg.py --nargs 1234 2345 3456 4567로 호출된다고 가정하면 nargs를 사용한 출력은 다음과 같습니다.

['1234', '2345', '3456', '4567']

또는 python arg.py --append-action 1234 --append-action 2345 --append-action 3456 --append-action 4567을 사용하여 스크립트를 호출하면 다음이 생성됩니다.

['1234', '2345', '3456', '4567']

지침

  • 간단한 사용자 상호 작용을 위해 nargs를 고려하세요.
  • 인수를 위치 인수와 혼합할 수 있거나 인수 개수가 정확한 경우 Action='append'가 선호됩니다. 미리 결정되지 않았습니다.
  • 원치 않는 목록 구조로 이어질 수 있으므로 type=list를 사용하지 마세요.

위 내용은 Python에서 argparse를 사용하여 목록을 명령줄 인수로 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.