python入力コマンドラインパラメータargparse
2886 ワード
時々自分でpythonでツールを書いてコマンドラインを通じてパラメータを伝えたいです.sysがありますが.argvは使えますが、パラメータのタイプは多種多様ですsys.argvは私たちのニーズを満たすことができません.いくつかのパラメータは必要で、いくつかのパラメータは必要ではありませんて、甚だしきに至っては時にはhelpを書いて自分とみんながすべてのパラメータの作用を理解することを助けたいと思って、そのため1つの通用するパラメータの方法を掌握するのはとても重要です.argparseは私たちのすべての需要を満たすことができて、本当にとても使いやすいです!Argparseの使い方:
解析関数ArgumentParserを作成するパラメータについて説明しましょう.後で便利に使います.lass argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)
Prog-プログラム名(default:sys.argv[0])usage-プログラム(default:generated from arguments added to parser)description-パラメータhelpの前にepilog-テキストを表示する文字列.パラメータhelpの後に表示(default:none)parents-A list of ArgumentParser objects whose arguments should also be included formatter_class - A class for customizing the help output prefix_chars - The set of characters that prefix optional arguments (default: ‘-‘) fromfile_prefix_chars - The set of characters that prefix files from which additional arguments should be read (default: None) argument_default-パラメータのグローバルデフォルト設定(default:None)conflict_handler - The strategy for resolving conflicting optionals (usually unnecessary) add_help - Add a -h/--help option to the parser (default: True) allow_abbrev - Allows long options to be abbreviated if the abbreviation is unambiguous. (default: True)
note:上のパラメータでよく使われるのはusage、description、epilogです.ここでusageは自動的に生成され,descriptionとepilogはパラメータを補完する.
パラメータを追加するための関数add_について説明します.argumentparser.add_Argument()は各パラメータがどのように解析されるかを定義し、そのパラメータにはArgumentParserが含まれる.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
name or flags-パラメータオプションの名前またはリスト、e.g.foo or-f、--foo.Action-コマンドラインでこのパラメータに遭遇したときに実行する基本操作のタイプ.nargs-コマンドラインから読み出すパラメータの数.const-いくつかの操作とnargs選択に必要な定数.default-パラメータがコマンドラインにない場合に使用するデフォルト値.type-integerなどのコマンドラインパラメータを変換するタイプです.choices-container、パラメータの許容値.required-コマンドラインオプションを省略できますか?help-このパラメータの役割を簡単に説明します.metavar-usage記述では、このパラメータの名前.dest-parse_に追加するにはargs()が返すオブジェクトの属性の名前.
note:パラメータに名前を付ける場合、オプションのパラメータで-または-f-fooなどの接頭辞として必要なパラメータに接頭辞がありません.fooなどです.
解析パラメータの関数parse_についてお話しします.args、主に2つのパラメータparse_があります.args(args=None, namespace=None) args - parse_argsは、コマンドラインを使用してパラメータを渡すだけでなく、argsを使用して関数パラメータを介して渡すこともできます.namespace-プロパティを取得するオブジェクト(unknown).
import argparse
# parser
parser = argparse.ArgumentParser(description="process some packets")
#
parser.add_argument("pcap",help="a pcap file from wireshark or tcpdump")
parser.add_argument("filter",default=None,help="a rule to filter packets such as 'udp'")
#
args = parser.parse_args()
#
print(args.pcap)
print(args.filter)
解析関数ArgumentParserを作成するパラメータについて説明しましょう.後で便利に使います.lass argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True)
Prog-プログラム名(default:sys.argv[0])usage-プログラム(default:generated from arguments added to parser)description-パラメータhelpの前にepilog-テキストを表示する文字列.パラメータhelpの後に表示(default:none)parents-A list of ArgumentParser objects whose arguments should also be included formatter_class - A class for customizing the help output prefix_chars - The set of characters that prefix optional arguments (default: ‘-‘) fromfile_prefix_chars - The set of characters that prefix files from which additional arguments should be read (default: None) argument_default-パラメータのグローバルデフォルト設定(default:None)conflict_handler - The strategy for resolving conflicting optionals (usually unnecessary) add_help - Add a -h/--help option to the parser (default: True) allow_abbrev - Allows long options to be abbreviated if the abbreviation is unambiguous. (default: True)
note:上のパラメータでよく使われるのはusage、description、epilogです.ここでusageは自動的に生成され,descriptionとepilogはパラメータを補完する.
パラメータを追加するための関数add_について説明します.argumentparser.add_Argument()は各パラメータがどのように解析されるかを定義し、そのパラメータにはArgumentParserが含まれる.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
name or flags-パラメータオプションの名前またはリスト、e.g.foo or-f、--foo.Action-コマンドラインでこのパラメータに遭遇したときに実行する基本操作のタイプ.nargs-コマンドラインから読み出すパラメータの数.const-いくつかの操作とnargs選択に必要な定数.default-パラメータがコマンドラインにない場合に使用するデフォルト値.type-integerなどのコマンドラインパラメータを変換するタイプです.choices-container、パラメータの許容値.required-コマンドラインオプションを省略できますか?help-このパラメータの役割を簡単に説明します.metavar-usage記述では、このパラメータの名前.dest-parse_に追加するにはargs()が返すオブジェクトの属性の名前.
note:パラメータに名前を付ける場合、オプションのパラメータで-または-f-fooなどの接頭辞として必要なパラメータに接頭辞がありません.fooなどです.
解析パラメータの関数parse_についてお話しします.args、主に2つのパラメータparse_があります.args(args=None, namespace=None) args - parse_argsは、コマンドラインを使用してパラメータを渡すだけでなく、argsを使用して関数パラメータを介して渡すこともできます.namespace-プロパティを取得するオブジェクト(unknown).