argparseコマンドライン解析パッケージ
2551 ワード
1. argparse
pythonのコマンドライン解析パッケージで、読みやすさに優れたプログラムを非常に記述し、一般的に3つのステップがあります.
パラメータの値を指定する方法--パラメータ名またはパラメータ名(二重引用符または一重引用符)を直接使用します.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('integer', type=int, help='display an integer')
args = parser.parse_args()
print args.integer
図の例のようにintegerに整数を入力する必要があります.
1⃣10.規定のタイプに従って値を付与していない.
2⃣10.未定義の変数を与える.
3⃣10.位置決めパラメータ法を使用する場合、複数のパラメータがある場合、付与部分のみが間違っている.----呼び出しがなくても、すべてのパラメータに値を付ける必要があります.
以上の状況はいずれも、間違いを報告します.
3. optional arguments
オプションのパラメータ値---2つの表現
-
によって指定される短いパラメータ、例えば-h
である.--
によって指定する長パラメータである、例えば--help;
この2つの方法は同じように保存してもよいし,1つだけ存在してもよい.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--integer", type=int, help='display an integer')
parser.add_argument('-float', type=float, help='display an integer')
args = parser.parse_args()
print (args.integer)
print(args.float)
テスト
>> python3 02.py 3 2.5
usage: 02.py [-h] [--integer INTEGER] [-float FLOAT]
02.py: error: unrecognized arguments: 3 2.5
>>python3 02.py --integer 3 2.5
usage: 02.py [-h] [--integer INTEGER] [-float FLOAT]
02.py: error: unrecognized arguments: 2.5
>> python3 02.py --integer 3 -float 2.5
3
2.5
説明:
1⃣10.--宣言と--賦課は一つ一つ対応しなければならない
2⃣10.--と-は形式のみであり,パラメータ名の長さに非常に厳しい要求はない.
3⃣10.オプションパラメータ法で複数のパラメータを宣言する場合、部分のみに値を付けることができ、エラーは報告されません.割り当てられていないパラメータが呼び出されていないことを前提とします.
4.オプションのパラメータ
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--integer","-int", type=int, help='display an integer')
parser.add_argument('-float',"-f", type=float, help='display an integer')
args = parser.parse_args()
print (args.integer)
print(args.float)
同じ変数に2つの名前が与えられ、呼び出すときに長い名前のものを使用します.そうしないと、エラーが発生します.ただし、パラメータを割り当てる場合は、どちらに渡してもよい.
>>> python3 02.py --int 3 -f 2.5
Traceback (most recent call last):
File "02.py", line 8, in
print (args.int)
AttributeError: 'Namespace' object has no attribute 'int'
参照先:https://www.jianshu.com/p/fef2d215b91d