Pythonのargparseライブラリ使用詳細

2774 ワード

argparseはpython標準ライブラリでコマンドラインパラメータを処理するためのライブラリです。
コマンドラインのパラメータは、位置パラメータとオプションパラメータに分けられます。
位置パラメータとは、プログラムがそのパラメータの出現位置に基づいて決定します。
下記の通りですroot@openstack_1/」33614;ls root/    #その中のroot/は位置パラメータです。
オプションパラメータは、アプリケーションが事前に定義したパラメータで、任意に指定したものではありません。
下記の通りですroot@openstack_1/]菵ls-l    # -lはlsコマンドのオプションパラメータです。
基本的な使い方

import argparse

#      
parser = argparse.ArgumentParser(description = 'This is a test')
parser.parse_args()
shellでテストできます。

$ python test.py --help
...
パラメータを追加

import argparse

parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("-p","--port",help='increase output port') #        -p --port,   ,     args.port (                 )
args = parser.parse_args()
print(args.echo)
argparse.AgmentParsser()方法パラメータの注意事項:一般的にはdescriptionのみを選択します。
          prog=None     - プログラム名
          description=None、    - help時に表示される開始テキスト
           epilog=None、     - help時に表示される末尾のテキスト
          parents=[]        -他のパラメータと同じ内容であれば、継承できます。
          フォーマットclass=argparse.Help Formater、     - カスタムヘルプ情報のフォーマット
          prefix_chars='-'    - コマンドのプレフィックス、デフォルトは「-」です。
          from file_prefix_chars=None、     - コマンドラインパラメータをファイルから読みだします。
          argmentdefault=None、    - グローバルオプションのデフォルト値を設定します。オプションごとに個別に設定されます。
          conflicathandler='error'は、     - 二つのadd_を定義するargmentに添付されているオプションの名前が衝突した場合、どのように処理しますか?デフォルトの処理は異常です。
          add_help=True    - -h/--helpオプションを追加するかどうか、デフォルトはTrueです。
add_argment()方法パラメータの注意事項:
    name or flags…    - 必ず指定します。パラメータの形式を指定します。普通は二つ、一つの短いパラメータ、一つの長いパラメータを書きます。
使用時:

$ python test.py -p 50
 
$ python test.py --port 50
タイプを指定
パラメータを追加するときにそのタイプを指定することもできます。

import argparse

parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("square",help="display a given number",type=int) #    square    int  
オプションのパラメータ

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", help="increase output verbosity")
args = parser.parse_args()
if args.v:
  print("v turned on")
使用:

$ python test.py -v any
文書
もっと多い応用は百度あるいはドキュメントを調べてもらいます。https://docs.python.org/3/library/argparse.html#module-argparse
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。