一、argparse用法示例
argparse是Python模块,主要用于命令行选项、参数和子命令解析器。 vars是Python模块,主要用于返回对象object的属性和属性值的字典对象 第一步:创建解析器ArgumentParser对象 第二步:添加参数add_argument 第三步:解析参数parse_args()
import argparse
parser = argparse. ArgumentParser( description= 'Ods dependency check' )
parser. add_argument( '-value' , default= "true" , help = "enable check or not" , choices= [ 'true' , 'false' ] )
parser. add_argument( '-config' , help = "path of config json file" )
parser. add_argument( '-server' , help = "debezium database server name" )
parser. add_argument( '-time' , help = "data end time str" )
args = parser. parse_args( )
print ( args)
print ( args. value)
print ( args. config)
print ( args. server)
print ( args. time)
args = vars ( parser. parse_args( ) )
print ( args)
二、add_argument() 方法常用参数详解
add_argument() 方法必须知道它是否是一个选项,例如 -f 或 --foo,parser.add_argument('-f', '--foo')
,或者创建位置参数:parser.add_argument('bar')
default:add_argument() 的命名参数 default,默认值为 None,指定了在命令行参数未出现时应当使用的值。parser.add_argument('--foo', default=42)
type:解析器会将命令行参数当作简单字符串读入。 然而,命令行字符串经常应当被解读为其他类型,例如 float 或 int。 add_argument() 的 type 关键字允许执行任何必要的类型检查和类型转换。如果 type 关键字使用了 default 关键字,则类型转换器仅会在默认值为字符串时被应用。parser.add_argument('count', type=int) parser.add_argument('distance', type=float)
choices:某些命令行参数应当从一组受限值中选择。 这可通过将一个容器对象作为 choices 关键字参数传给 add_argument() 来处理。 当执行命令行解析时,参数值将被检查,如果参数不是可接受的值之一就将显示错误消息。任何容器都可作为 choices 值传入,因此 list 对象,set 对象以及自定义容器都是受支持的。
>> > parser = argparse. ArgumentParser( prog= 'game.py' )
parser. add_argument( 'move' , choices= [ 'rock' , 'paper' , 'scissors' ] )
>> > parser. parse_args( [ 'rock' ] )
Namespace( move= 'rock' )
>> > parser. parse_args( [ 'fire' ] )
usage: game. py [ - h] { rock, paper, scissors}
game. py: error: argument move: invalid choice: 'fire' ( choose from 'rock' ,
'paper' , 'scissors' )
required:argparse 模块会认为 -f 和 --bar 等旗标是指明 可选的 参数,它们总是可以在命令行中被忽略。 要让一个选项成为 必需的,则可以将 True 作为 required= 关键字参数传给 add_argument() help:help 值是一个包含参数简短描述的字符串。 当用户请求帮助时(一般是通过在命令行中使用 -h 或 --help 的方式),这些 help 描述将随每个参数一同显示
>> > parser = argparse. ArgumentParser( prog= 'frobble' )
>> > parser. add_argument( '--foo' , action= 'store_true' ,
. . . help = 'foo the bars before frobbling' )
>> > parser. add_argument( 'bar' , nargs= '+' ,
. . . help = 'one of the bars to be frobbled' )
>> > parser. parse_args( [ '-h' ] )
usage: frobble [ - h] [ - - foo] bar [ bar . . . ]
positional arguments:
bar one of the bars to be frobbled
options:
- h, - - help show this help message and exit
- - foo foo the bars before frobbling
三、vars用法示例
vars是Python模块,主要用于返回对象object的属性和属性值的字典对象
args = parser. parse_args( )
print ( args)
args = vars ( parser. parse_args( ) )
print ( args)