ホームページ バックエンド開発 Python チュートリアル Python で argparse を使用してリストをコマンドライン引数として処理するにはどうすればよいですか?

Python で argparse を使用してリストをコマンドライン引数として処理するにはどうすればよいですか?

Oct 27, 2024 pm 05:57 PM

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

argparse を使用したコマンドライン引数としてのリストの処理

Python では、argparse モジュールによりコマンドライン引数の解析が容易になります。引数としてリストを扱う場合、適切なオプションを理解することが重要です。

nargs

1 つの方法は、args を利用することです。これは、オブジェクトに対して受け入れられる引数の数を指定します。オプション。デフォルトでは、nargs=1 は単一の引数を受け入れます。ただし、nargs=' ' または nargs='*' を使用すると、複数の引数を使用できます。

<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag')</code>
ログイン後にコピー

action='append'

別の代替方法は、action='append '。このアプローチでは、検出された各引数を 1 つの引数にまとめるのではなく、リストに追加します。

<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 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

Pythonで独自のデータ構造を実装する方法 Pythonで独自のデータ構造を実装する方法 Mar 03, 2025 am 09:28 AM

Pythonで独自のデータ構造を実装する方法

Pythonの並列および同時プログラミングの紹介 Pythonの並列および同時プログラミングの紹介 Mar 03, 2025 am 10:32 AM

Pythonの並列および同時プログラミングの紹介

See all articles