首页 > 编程知识 正文

python 命令行参数,python with open as 读写文件

时间:2023-05-06 18:33:47 阅读:42749 作者:270

使用argparse

简单的例子

我们先来看一个简单的例子。 主要有三个步骤:

创建ArgumentParser ()对象

通过调用add_argument ()方法添加参数

使用parse_args (分析添加的参数

示例:

---编码: utf-8---- importargparse

parser=argparse.ArgumentParser (

parser.add_argument('integer ',type=int,help='display an integer ' ) )

args=parser.parse_args (

打印(args.integer )。

将上面的代码另存为argparse_usage.py文件,然后在终端上运行,如下所示:

$ python argparse_usage.py

usage : arg parse _ usage.py [-h ] integer

arg parse _ usage.py : error : toofewarguments

$ python argparse_usage.py abcd

usage : arg parse _ usage.py [-h ] integer

arg parse _ usage.py : error : argument integer : invalid intvalue : ' ABCD ' $ pythonargparse _ u u usage.py-h

usage : arg parse _ usage.py [-h ] integer

定位协议:

integer display an integer

可选协议:-- helpshowthishelpmessageandexit

$ python argparse_usage.py10

10

定位参数

上例说明了定位参数的实际使用。 再来看看另一个例子。 计算数的平方。

---编码: utf-8---- importargparse

parser=argparse.ArgumentParser (

parser.add_argument('square ',help=' displayasquareofagivennumber ',type=int ) )。

args=parser.parse_args (

打印(rgs.square * *2) )。

将上面的代码另存为argparse_usage.py文件,然后在终端上运行,如下所示:

$ python argparse_usage.py 9

81

可选参数

让我们来看看选购件参数的使用方法。 可选参数意味着命令行参数是可选的。 别胡说,让我们来看看下面的例子。

---编码: utf-8---- importargparse

parser=argparse.ArgumentParser (

parser.add_argument('--square ',help=' displayasquareofagivennumber ',type=int )。

parser.add_argument('--cubic ',help=' displayacubicofagivennumber ',type=int )。

args=parser.parse _ args (if args.square :

print(Args.square**2) ifargs.cubic:

打印(args.cubic * *3) ) )。

将上面的代码另存为argparse_usage.py文件,然后在终端上运行,如下所示:

$ python argparse_usage.py --h

usage 3360 arg parse _ usage.py [-h ] [-- square square ] [-- cubic cubic ]

可选协议:-- helpshowthishelpmessageandexit-- squaresquaredisplayasquareofagivennumber-- cubicubicdisplayagivennumber

$ pythonargparse _ usage.py-- square 8

64 $ pythonargparse _ usage.py-- cubic 8

512 $ pythonargparse _ usage.py8 usage : arg parse _ usage.py [-h ] [-- square square ] [-- cubic cubic ]

arg parse _ usage.py : error : unrecognized arguments :8 $ pythonargparse _ usage.py #没有输出

混合使用

定位参数和选购件参数可以混合使用。 查看以下示例,并给出整数序列以输出它们的和或最大值(缺省)。

导入警报

parser=arg parse.argument parser (描述=' processsomeintegers.' )

parser.add_argument('integers ',metavar='N ',type=int,nargs=' ',

help=' anintegerfortheaccumulator ' )

parser.add_argument('--sum ',dest='accumulate ',action='store_const ',const=sum,default=max,

help=' sumtheintegers (默认: find the max ) )

args=parser.parse_args (

打印(args.accumulate (args.integers ) )

结果:

$ python argparse_usage.py

usage 3360 arg parse _ usage.py [-h ] [-- sum ] n [ n . ]

arg parse _ usage.py : error : toofewarguments

$ python argparse_usage.py1 2 3 4

4 $ pythonargparse _ usage.py 1234-- sum 10

add_argument ()方法

add_argument (方法定义如何解析命令行参数。

argument parser.add _ argument (nameorflags . [,action][,nargs][,const][,default][,type][,choices][

每个参数解释为:

可选字符串的名称或列表,如nameorflags--foo和-f,--foo。

action -在命令行中检测到参数时的行为。 默认值为store。

store_const,表示赋值为const;

append,将检测到的值保存为列表。 也就是说,参数重复时会保存多个值。

append_const,用于将参数规范中定义的值保存到列表中;

计数,存储遭遇次数; 也可以继承argparse.Action自定义参数分析;

nargs -要读取的命令行参数的数量。 既可以是具体数字,也可以是? 如果未指定编号、值,则位置协议为default,选项协议为const; 或者,表示0或多个参数的*标记; 或者,编号表示一个或多个参数。

常数和nargs所需的常数值。

default -未指定参数时的缺省值。

type -命令行参数要转换的类型。

choices -参数允许值的容器。

required -是否可以省略可选参数(仅限可选参数)。

帮助-参数的帮助信息。 如果指定了argparse.SUPPRESS,则不显示该参数的帮助信息。

metavar-usage说明中的参数名称。 对于必需参数,默认为参数名称;对于可选参数,默认为大写参数名称。

dest -分析后的参数名称。 缺省情况下,[ prod 84 ]为可选参数选择最长的名称,并将中间划线转换为下划线。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。