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

argparse を使用してコマンドライン プログラムに引数のリストを渡すにはどうすればよいでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-30 04:10:28938ブラウズ

How can you pass a list of arguments to a command-line program using argparse?



argparse を使用してコマンド ライン引数としてリストを渡す


コマンド ライン プログラムを構築する場合、ユーザーが引数としてリストを渡します。 argparse はこれを可能にし、これを実現するためのいくつかのオプションを提供します。



nargs


引数のリストを受け取るには、 「nargs」パラメータを利用します。 1 つ以上の引数を受け入れる場合は ' '、0 個以上の引数を受け入れる場合は '*'、'?' を指定します。 0 または 1 を受け入れるか、またはその正確な数の引数を受け入れる特定の数 (2 など) を受け入れます。


parser = argparse.ArgumentParser()<strong>parser.add_argument('- l', '--list', nargs=' ')</strong>

このアプローチにより、ユーザーは単一の入力として複数の引数を簡単に指定できるようになります。



append


あるいは、「追加」アクションを使用して、各引数を検出したときにリストに追加することもできます。 /p>

parser.add_argument('-l', '--list', action='append')</strong>

このメソッドにはユーザーが必要ですフラグを複数回指定するには、リストに含める引数ごとに 1 つずつ指定します。


type=list を使用しない


< ;p>「type」を「list」に設定するのは直感的に思えるかもしれませんが、フラット化されたリストではなくリストのリストが返されるため、これはお勧めできません。これにより、予期しない動作が発生する可能性があります。



使用例


ユーザーがリストを渡す必要があるスクリプトを検討してください。


parser = argparse.ArgumentParser()<strong>parser.add_argument('-l', '--list', nargs=' ', type=int)</strong>

これにより、ユーザーは複数の整数を入力できるようになり、それらは自動的に整数のリストに変換され、'list' 変数に保存されます。



注:

  • argparse の解析を妨げる可能性があるため、コマンド ラインで引用符を使用することは避けてください。type=list は使用しないでください。フラット化されたリストではなくリストのリストが作成されるためです。

以上がargparse を使用してコマンドライン プログラムに引数のリストを渡すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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