Pythonにおけるargpasrseモジュールの基本的な使用について詳しく説明する
6784 ワード
argpasrseモジュールの使用
winでは、/etcがrun->Edit configurationまたはargs=parserのような挿入位置パラメータをシミュレートします.parse_args('/etc')
①デフォルトではヘルプ情報が印刷され、デフォルトでは'''
pyファイル:
印刷情報:
②ArgumentParserの下の内容
③helpのキャンセル
印刷情報:
キャンセルメッセージはありません:
④パラメータ、すなわちlsを実行する必要がある.pyの場合、後ろにパス:/etc
印刷情報
⑤ロングオプション
印刷情報:
⑥ namespace,sys.Argv[1:],提供されていない,すなわちNone,提供されるとnamespaceに伝達される.
印刷情報:
⑦パラメータに対応する属性の値を取得し、namespaceを通過するが、パラメータに--allというものがあればargsしか使用できない.all'''
印刷情報:
⑧- l-aデフォルトではパラメータを持たなければならないが、パラメータを持たない方法'''
ヘルプドキュメント:
印刷情報:
印刷情報いんさつじょうほう:store_true、だから-lをあげたらtrueを印刷します.そうしないとfalseの場合store_false、-lをあげないでtrueを印刷します
印刷情報:もしあげたら、23を印刷して、あげないで、Noneを印刷します
⑨コマンドごとにhelp情報を提供する'''
印刷情報:
⑩namespaceの属性にargsのような使いやすい名前を与える.l argsを使用する.list'''
印刷情報:
この名前はnamespaceでのみ使用され、コマンド呼び出し時の-lには影響しません.
import argparse
parser = argparse.ArgumentParser(
prog = 'ls',
description='Process some int',
add_help = True
)
parser.add_argument('path',nargs='?', default='.', help='file path')#
parser.add_argument('-l',dest='list', action='store_true')
parser.add_argument('-a', '--all', action='store_true')
args = parser.parse_args() # : :/etc ---> e t c , ('/etc',)
parser.print_help() # windows
print('-------------------------------------')
print( args.all, args.list, args.path) #None None /etc
winでは、/etcがrun->Edit configurationまたはargs=parserのような挿入位置パラメータをシミュレートします.parse_args('/etc')
①デフォルトではヘルプ情報が印刷され、デフォルトでは'''
pyファイル:
import argparse
parser = argparse.ArgumentParser(description='Process some int')
args = parser.parse_args()
parser.print_help() # windows
印刷情報:
usage: homework_ _9-4.py [-h]
Process some int
optional arguments:
-h, --help show this help message and exit
②ArgumentParserの下の内容
def __init__(self,
prog=None, ,sys.args[0] , :a.py
usage=None,
description=None,
epilog=None,
parents=[],
formatter_class=HelpFormatter,
prefix_chars='-',
fromfile_prefix_chars=None,
argument_default=None,
conflict_handler='error',
add_help=True, ,-h,--help Fals
allow_abbrev=True):
③helpのキャンセル
import argparse
parser = argparse.ArgumentParser(
prog = 'ls', # ls
description='Process some int',
add_help = False # False
)
args = parser.parse_args()
parser.print_help() # windows
印刷情報:
usage: ls
Process some int
キャンセルメッセージはありません:
usage: ls [-h] # ,linux
Process some int
optional arguments:
-h, --help show this help message and exit
④パラメータ、すなわちlsを実行する必要がある.pyの場合、後ろにパス:/etc
import argparse
parser = argparse.ArgumentParser(
prog = 'ls',
description='Process some int',
add_help = True
)
parser.add_argument('path')#
印刷情報
args = parser.parse_args()
usage: ls [-h] path
ls: error: the following arguments are required: path
⑤ロングオプション
import argparse
parser = argparse.ArgumentParser(
prog = 'ls',
description='Process some int',
add_help = True
)
parser.add_argument('path')
parser.add_argument('-l')
parser.add_argument('-a','--all')
args = parser.parse_args()
印刷情報:
usage: ls [-h] [-l L] [-a ALL] path
Process some int
positional arguments:
path
optional arguments:
-h, --help show this help message and exit
-l L
-a ALL, --all ALL
⑥ namespace,sys.Argv[1:],提供されていない,すなわちNone,提供されるとnamespaceに伝達される.
import argparse
parser = argparse.ArgumentParser(
prog = 'ls',
description='Process some int',
add_help = True
)
parser.add_argument('path')
parser.add_argument('-l')
parser.add_argument('-a','--all')
args = parser.parse_args(('/etc',)) # : :/etc ---> e t c , ('/etc',)
parser.print_help() # windows
print(args)
印刷情報:
usage: ls [-h] [-l L] [-a ALL] path
Process some int
positional arguments:
path
optional arguments:
-h, --help show this help message and exit
-l L
-a ALL, --all ALL
Namespace(all=None, l=None, path='/etc')!!!!!!!!!!!!!!!!!!
⑦パラメータに対応する属性の値を取得し、namespaceを通過するが、パラメータに--allというものがあればargsしか使用できない.all'''
args = parser.parse_args('/etc'.split()) # : :/etc ---> e t c , ('/etc',)
print( args.all, args.l, args.path) #None None /etc
印刷情報:
None None /etc
⑧- l-aデフォルトではパラメータを持たなければならないが、パラメータを持たない方法'''
ヘルプドキュメント:
add_argument() method
•name or flags - Either a name or a list of option strings, e.g. foo or -f, --foo.
•action - The basic type of action to be taken when this argument is encountered at the command line.
•nargs - The number of command-line arguments that should be consumed.
•const - A constant value required by some action and nargs selections.
•default - The value produced if the argument is absent from the command line.
•type - The type to which the command-line argument should be converted.
•choices - A container of the allowable values for the argument.
•required - Whether or not the command-line option may be omitted (optionals only).
•help - A brief description of what the argument does.
•dest - The name of the attribute to be added to the object returned by parse_args().
parser.add_argument('path',nargs='?')#
:
usage: ls [-h] [-l L] [-a ALL] [path] path ,
parser.add_argument('path',nargs='?', default='.')# , ,
#### ? ,+ ,* ,
parser.add_argument('-l', action='store_true') #
印刷情報:
usage: ls [-h] [-l] [-a ALL] [path]
parser.add_argument('-l', action='store_true')
args = parser.parse_args('-l'.split())
print( args.all, args.l, args.path)
印刷情報いんさつじょうほう:store_true、だから-lをあげたらtrueを印刷します.そうしないとfalseの場合store_false、-lをあげないでtrueを印刷します
parser.add_argument('-l', action='store_const', const=23)
args = parser.parse_args('-l'.split())
印刷情報:もしあげたら、23を印刷して、あげないで、Noneを印刷します
⑨コマンドごとにhelp情報を提供する'''
parser.add_argument('path',nargs='?', default='.', help='file path')#
印刷情報:
path file path
⑩namespaceの属性にargsのような使いやすい名前を与える.l argsを使用する.list'''
parser.add_argument('-l',dest='list', action='store_true')
print( args.all, args.list, args.path) #None None /etc
印刷情報:
False False .
この名前はnamespaceでのみ使用され、コマンド呼び出し時の-lには影響しません.