ホームページ > バックエンド開発 > Python チュートリアル > Python コマンドラインパラメータを解析するための実践的なヒント

Python コマンドラインパラメータを解析するための実践的なヒント

WBOY
リリース: 2024-02-03 08:30:07
オリジナル
1153 人が閲覧しました

Python コマンドラインパラメータを解析するための実践的なヒント

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='输入文件路径')
ログイン後にコピー

実践的なヒント

1 を使用できます。デフォルト値の追加

works パラメータにデフォルト値を提供します。たとえば、

--output パラメータのデフォルト値を output.txt に設定するには:

parser.add_argument('--output', default='output.txt', help='输出文件路径')
ログイン後にコピー

If

--output## が指定されていない場合コマンドラインの #parameter では、デフォルト値が使用されます。 2. 制限の追加

パラメータに制限を追加できます。たとえば、

choices

パラメータを使用して、パラメータが特定の値のみを受け入れるように指定できます。 <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>

--mode

パラメータの値が次の場合のみAB、または C が受け入れられます。 3. 相互に排他的なパラメーターを追加する

場合によっては、特定のパラメーターが相互に排他的であることを確認する必要があります。相互排他的なパラメータ グループは、

add_mutually_exclusive_group()

メソッドを使用して作成できます。たとえば、--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 を実行します。

場合によっては、スクリプトに複数のサブコマンドを追加することができます。これは、

subparsers

を使用して実現できます。たとえば、スクリプトに 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> 次に、コマンド ライン パラメータを解析した後、

args.command

の値によって、使用するサブコマンドが決まります。 サンプル コード

以下は、上記のテクニックと使用法を示すサンプル コードです:

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート