Python コマンド ライン パラメーターを解析するための実用的なヒント
Python でスクリプトを作成する場合、多くの場合、コマンド ラインからパラメーターを取得する必要があります。 Python の組み込み argparse
モジュールは、コマンド ライン引数を解析するためのシンプルで強力なツールを提供します。この記事では、argparse
の基本的な使用法を紹介し、いくつかの実践的なヒントとコード例を示します。
まず、argparse
モジュールをインポートする必要があります:
import argparse
次に、argparse.ArgumentParser# を作成できます。 ## コマンド ライン パラメーターを解析するオブジェクト:
parser = argparse.ArgumentParser(description='命令行参数解析示例')
descriptionパラメーターは、ヘルプ メッセージに表示される簡単な説明を提供するために使用されます。
ArgumentParser オブジェクトに追加できます。たとえば、位置パラメータを追加します。
parser.add_argument('input_file', help='输入文件路径')
input_file という名前の位置パラメータが作成されます。
--output パラメータを追加して出力ファイルのパスを指定します。
parser.add_argument('--output', help='输出文件路径')
--output を使用します。また、次のように使用することもできます。短い
-o などの単語形式。引数の短い形式を追加するには、引数の
dest 引数に
-o を追加します。
parser.add_argument('-o', '--output', help='输出文件路径')
parse_args() を使用できます。 コマンド ライン パラメーターを解析する方法:
args = parser.parse_args()
args オブジェクトに保存されます。これらの値には、オブジェクトのプロパティを通じてアクセスできます。
print(args.input_file) print(args.output)
nargs パラメータを使用して、複数の値が受け入れられることを指定できます。たとえば、複数の入力ファイル パスを受け入れるには、
nargs=' ':
parser.add_argument('input_files', nargs='+', help='输入文件路径')
--output パラメータのデフォルト値を
output.txt に設定するには:
parser.add_argument('--output', default='output.txt', help='输出文件路径')
--output## が指定されていない場合コマンドラインの #parameter では、デフォルト値が使用されます。 2. 制限の追加
パラメータを使用して、パラメータが特定の値のみを受け入れるように指定できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>parser.add_argument('--mode', choices=['A', 'B', 'C'], help='运行模式')</pre><div class="contentsignin">ログイン後にコピー</div></div>
パラメータの値が次の場合のみA
、B
、または C
が受け入れられます。 3. 相互に排他的なパラメーターを追加する
メソッドを使用して作成できます。たとえば、--input
パラメータと --output
パラメータのうち 1 つだけを選択できるようにするには、<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>group = parser.add_mutually_exclusive_group()
group.add_argument('--input', help='输入文件路径')
group.add_argument('--output', help='输出文件路径')</pre><div class="contentsignin">ログイン後にコピー</div></div>
4 を実行します。
を使用して実現できます。たとえば、スクリプトに run
サブコマンドと test
サブコマンドを含めると、次のようにできます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>subparsers = parser.add_subparsers(dest='command')
run_parser = subparsers.add_parser('run', help='运行程序')
run_parser.add_argument('--input', help='输入文件路径')
test_parser = subparsers.add_parser('test', help='测试程序')
test_parser.add_argument('--input', help='输入文件路径')</pre><div class="contentsignin">ログイン後にコピー</div></div>
次に、コマンド ライン パラメータを解析した後、
の値によって、使用するサブコマンドが決まります。 サンプル コード
import argparse def main(args): print('输入文件:', args.input_file) print('输出文件:', args.output) if args.input_files: print('输入文件列表:', args.input_files) if args.mode: print('运行模式:', args.mode) if args.command == 'run': print('运行程序') elif args.command == 'test': print('测试程序') if __name__ == '__main__': parser = argparse.ArgumentParser(description='命令行参数解析示例') parser.add_argument('input_file', help='输入文件路径') parser.add_argument('--output', default='output.txt', help='输出文件路径') parser.add_argument('-o', '--output', help='输出文件路径') parser.add_argument('input_files', nargs='+', help='输入文件路径') parser.add_argument('--mode', choices=['A', 'B', 'C'], help='运行模式') subparsers = parser.add_subparsers(dest='command') run_parser = subparsers.add_parser('run', help='运行程序') run_parser.add_argument('--input', help='输入文件路径') test_parser = subparsers.add_parser('test', help='测试程序') test_parser.add_argument('--input', help='输入文件路径') args = parser.parse_args() main(args)
上記は、Python コマンド ライン パラメーター解析の実践的なテクニックの紹介です。およびサンプルコード。
argparse コマンド ライン引数を解析する柔軟かつ強力な方法を提供し、アプリケーションのニーズに応じてカスタマイズできます。 argparse
を使用すると、さまざまな複雑なコマンド ライン パラメーターを簡単に処理でき、スクリプトのスケーラビリティと使いやすさが向上します。
以上がPython コマンドラインパラメータを解析するための実践的なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。