検索
ホームページバックエンド開発Python チュートリアルPython argparse の使用: コマンド ライン引数の処理方法

    1. はじめに

    argparse は Python 用のコマンド ライン パラメータ解析パッケージで、コードでパラメータを頻繁に変更する必要がある場合に使用すると便利です。主な使用法は、コマンドラインで変更したいパラメータを入力することです。

    2. argparse を使用するための一般的なフレームワーク

    import argparse
    
    def get_parser():
    
        # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示
    
        parser = argparse.ArgumentParser(description="pytorch unet training")
    
        # 路径参数设置 help为参数的帮助信息
    
        parser.add_argument("--data_path", default="./", help="DRIVE root")
    
        # 预测类别数量 type如果不指定需要输入的是str类型
    
        parser.add_argument("--num_classes", default=1, type=int)
    
        # 指定设备使用
    
        parser.add_argument("--device", default="cuda", help="training device")
    
        # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用
    
        parser.add_argument("-b", "--batch_size", default=4, type=int)
    
        return parser
    
    if __name__ =='__main__':
    
        parser = get_parser()
    
        args = parser.parse_args()
    
        print(args)

    上で述べたように、get_parser() はこの記事で紹介されている使用方法の一部です。この Python ファイルは python_argparse_test1.py と呼ばれます。

    ##parser = argparse.ArgumentParser(description="pytorch unet training") はパーサー オブジェクトの作成に使用されます

    add_argument() はパラメーターの追加に使用されます

    args = parse_args( ) parser.parse_args() で解析パラメーターを取得します

    1. パラメーター リストを取得します

    コマンド ラインに python python_argparse_test1.py を入力すると、args によって取得されたパラメーターを出力して次を取得します。

    Namespace(batch_size=4, data_path ='./', device='cuda', num_classes=1)

    このパラメータ パーサーによって解析されたパラメータ リストを示します

    2. ヘルプ情報を取得します。

    「python python_argparse_test1.py -h」または「python python_argparse_test1.py --help --help」と入力すると、情報が表示されます。「usage」はその使用方法を示します。「pytorch unet training」はオブジェクト作成時の説明です。以下は各パラメータの情報と使用法

    Python argparse の使用: コマンド ライン引数の処理方法

    3. コマンドライン変更パラメータ

    import argparse
    
    def get_parser():
    
        # argparse.ArgumentParser生成argparse对象 description为描述信息,当在命令行输入需要显示帮助信息时,会显示
    
        parser = argparse.ArgumentParser(description="pytorch unet training")
    
        # 路径参数设置 help为参数的帮助信息 default为默认参数
    
        parser.add_argument("--data_path", default="./", help="DRIVE root")
    
        # 预测类别数量 type如果不指定需要输入的是str类型
    
        parser.add_argument("--num_classes", default=1, type=int)
    
        # 指定设备使用
    
        parser.add_argument("--device", default="cuda", help="training device")
    
        # 指定batch size大小 "-b", "--batch_size"表示两个都可以在命令行使用
    
        parser.add_argument("-b", "--batch_size", default=4, type=int)
    
        return parser
    
    if __name__ =='__main__':
    
        parser = get_parser()
    
        args = parser.parse_args()
    
        print("data_path: ",args.data_path)
    
        print("num_classes: ", args.num_classes)

    コマンドライン入力: python python_argparse_test1.py --data_path Desktop --num_classer 4結果は次のようになります:

    data_path: Desktop

    num_classes: 4

    コマンド ラインを通じてパラメータが変更されたことがわかります

    4. 「_」と「__」の使用

    if __name__ =='__main__':
    
        parser = get_parser()
    
        args = parser.parse_args()
    
        print("-b: ",args.b)
    
        print("--batch_size: ", args.batch_size)

    コマンド ラインに python python_argparse_test1.py -b 10 --batch_size 20 と入力すると、エラーが報告されます:

    Python argparse の使用: コマンド ライン引数の処理方法

    これは、'_' と '__' が同時に存在する場合、システムのデフォルトのパラメータ名

    が使用されるためです。上記のコードを次のように変更します:

    if __name__ =='__main__':
    
        parser = get_parser()
    
        args = parser.parse_args()
    
        print("--batch_size: ",args.batch_size)

    ただし、コマンド ラインは影響を受けません。引き続きコマンド python python_argparse_test1.py -b 10 を実行して、

    --batch_size: 10

    5 を取得します。usage

    と入力します。

    type は、入力されたコマンド ライン文字を type に強制的に変換します

    if __name__ =='__main__':
    
        parser = get_parser()
    
        args = parser.parse_args()
    
        print("--batch_size type: ",type(args.batch_size))

    コマンド ライン入力: python python_argparse_test1 .py --batch_size '10' 取得:

    --batch_size type :

    6.required: このパラメータを指定する必要があるかどうかを示すために使用されます

    parser.add_argument("--num_classes", default=1, type=int, required=True)

    コマンド python python_argparse_test1.py

    ## を入力した場合#これにより、実際に必要なパラメータの入力を求めるエラーが報告されます

    python_argparse_test1.py: エラー: 次の引数が必要です: --num_classes

    7.choicesSelect パラメータ

    parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])

    コマンドを実行すると: python python_argparse_test1.py -arch cnn

    これはエラーを報告します

    python_argparse_test1.py: エラー: 引数 - アーチ: 無効な選択肢: 'cnn' (次から選択してください) 'alexnet'、'vgg')

    以上がPython argparse の使用: コマンド ライン引数の処理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
    Pythonリストに要素をどのように追加しますか?Pythonリストに要素をどのように追加しますか?May 04, 2025 am 12:17 AM

    toAppendElementStoapyThonList、usetheappend()methodforsingleelements、extend()formultipleElements、andinsert()forspecificopsitions.1)useappend()foraddingoneElementatheend.2)useextend()toaddmultipleelementseffictience.3)

    Pythonリストをどのように作成しますか?例を挙げてください。Pythonリストをどのように作成しますか?例を挙げてください。May 04, 2025 am 12:16 AM

    To CreateapythonList、usesquareBrackets []およびSeparateItemswithcommas.1)listsaredynamicandcanholdmixdatatypes.2)useappend()、remaid()、andslicingformanipulation.3)listcompreheNsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsientionforcreating.4)

    数値データの効率的なストレージと処理が重要な実際のユースケースについて話し合います。数値データの効率的なストレージと処理が重要な実際のユースケースについて話し合います。May 04, 2025 am 12:11 AM

    金融、科学研究、医療、およびAIの分野では、数値データを効率的に保存および処理することが重要です。 1)財務では、メモリマッピングされたファイルとnumpyライブラリを使用すると、データ処理速度が大幅に向上する可能性があります。 2)科学研究の分野では、HDF5ファイルはデータストレージと取得用に最適化されています。 3)医療では、インデックス作成やパーティション化などのデータベース最適化テクノロジーがデータのパフォーマンスを向上させます。 4)AIでは、データシャーディングと分散トレーニングがモデルトレーニングを加速します。システムのパフォーマンスとスケーラビリティは、適切なツールとテクノロジーを選択し、ストレージと処理速度の間のトレードオフを検討することにより、大幅に改善できます。

    Pythonアレイをどのように作成しますか?例を挙げてください。Pythonアレイをどのように作成しますか?例を挙げてください。May 04, 2025 am 12:10 AM

    pythonarraysarasarecreatedusingthearraymodule、notbuilt-inlikelists.1)importthearraymodule.2)specifytheTypecode、emg。、 'i'forintegers.3)Arraysofferbettermemoreefficiency forhomogeneousdatabutlasefutablethanlists。

    Shebangラインを使用してPythonインタープリターを指定するための選択肢は何ですか?Shebangラインを使用してPythonインタープリターを指定するための選択肢は何ですか?May 04, 2025 am 12:07 AM

    Shebangラインに加えて、Pythonインタープリターを指定するには多くの方法があります。1。コマンドラインから直接Pythonコマンドを使用します。 2。バッチファイルまたはシェルスクリプトを使用します。 3. makeやcmakeなどのビルドツールを使用します。 4. Invokeなどのタスクランナーを使用します。各方法には利点と短所があり、プロジェクトのニーズに合った方法を選択することが重要です。

    リストと配列の選択は、大規模なデータセットを扱うPythonアプリケーションの全体的なパフォーマンスにどのように影響しますか?リストと配列の選択は、大規模なデータセットを扱うPythonアプリケーションの全体的なパフォーマンスにどのように影響しますか?May 03, 2025 am 12:11 AM

    forhandlinglaredataSetsinpython、usenumpyArrays forbetterperformance.1)numpyarraysarememory-effictientandfasterfornumericaloperations.2)nusinnnnedarytypeconversions.3)レバレッジベクトル化は、測定済みのマネージメーシェイメージーウェイズデイタイです

    Pythonのリストと配列にメモリがどのように割り当てられるかを説明します。Pythonのリストと配列にメモリがどのように割り当てられるかを説明します。May 03, 2025 am 12:10 AM

    inpython、listsusedynamicmemoryallocation with allocation、whilenumpyArraysalocatefixedmemory.1)listsallocatemorememorythanneededededinitivative.2)numpyArrayasallocateexactmemoryforements、rededicablebutlessflexibilityを提供します。

    Pythonアレイ内の要素のデータ型をどのように指定しますか?Pythonアレイ内の要素のデータ型をどのように指定しますか?May 03, 2025 am 12:06 AM

    inpython、youcanspecthedatatypeyfelemeremodelernspant.1)usenpynernrump.1)usenpynerp.dloatp.ploatm64、フォーマーpreciscontrolatatypes。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    EditPlus 中国語クラック版

    EditPlus 中国語クラック版

    サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 最新バージョン

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    Dreamweaver Mac版

    Dreamweaver Mac版

    ビジュアル Web 開発ツール