Python 添加命令行参数步骤

08-05 86阅读 0评论

文章最后更新时间:2022年08月09日

前言

许多任务程序如果为其构造为一个命令行界面,就可以通过接受不同的参数来改变它的工作方式。例如,在爬虫程序中,不同URL通常可以作为命令行参数传递给任务程序,从而可以爬取不同网页中的数据。在Python标准库含一个强大的argparse模块,可以轻松创建丰富的命令行参数解析。

添加命令行参数的一般步骤

在程序脚本中,argparse的基本使用方式可以分三个步骤显示:

定义脚本要接受的参数,生成新的参数解析器调用定义的解析器,返回一个包含所有结果参数的对象使用带有参数的命令调用脚本,使得定义的参数行为生效

一般而言,使用命令行参数的脚本遵循以下结构

导入相关定义函数定义参数解析器对参数进行操作使用参数调用函数,以执行不同操作

其中,一般使用main函数来显式的声明代码的执行入口,简单情况下,我们可以直接使用命令行传入的参数而无需进行复杂处理

命令行参数示例

接下来,我们通过一个示例来了解如何添加并使用命令行参数。首先创建一个脚本argparse_example.py,该脚本接受单个整数作为位置参数,并打印执行次数的“Hello world.”。脚本代码如下,我们遵循上述结构,其中定义的main仅仅执行打印功能

import argparse  def main(num):     print('Hello world.\n' * num)  if __name__ == '__main__':     parse = argparse.ArgumentParser()     parse.add_argument('number', type=int, help='A number')     args = parse.parse_args()      main(args.number)

在脚本中,参数通过add_argumenTS添加到解析器。定义了所有参数之后,调用parse_args()将返回一个包含参数解析结果的对象,如果出现错误则退出执行。

调用脚本并检查参数的使用方式,不带参数调用脚本时会自动显示帮助信息,使用参数-h可以显示扩展帮助信息:

python argparse_example.py usage: argparse_example.py [-h] number argparse_example.py: error: the following arguments are reqUIred: number $ python argparse_example.py -h usage: argparse_example.py [-h] number  positiONal arguments:   number      A number  optional arguments:   -h, --help  show this help message and exit

Python 添加命令行参数步骤

使用额外参数调用脚本,可以按程序预期执行脚本:

$ python argparse_example.py 3 Hello world. Hello world. Hello world.  $ python argparse_example.py three usage: argparse_example.py [-h] number argparse_example.py: error: argument number: invalid int value: 'three'

Python 添加命令行参数步骤

更改脚本,添加可选参数用于接受所需打印的字符串,且默认值为 “Hello world”,编写argparse_example_2.py脚本如下所示:

import argparse def main(string, num):     print(string * num) if __name__ == '__main__':     parser = argparse.ArgumentParser()     parser.add_argument('num', type=int, help='A number')     parser.add_argument('-s', type=str, help='String to print', default='Hello world.\n')     args = parser.parse_args()      main(args.s, args.num)

再次执行脚本,可以看到帮助已经更新,使用-s选项可以打印不同的字符串:

$ python argparse_example_2.py -h usage: argparse_example_2.py [-h] [-s S] num  positional arguments:   num         A number  optional arguments:   -h, --help  show this help message and exit   -s S        String to print $ python argparse_example_2.py 3Hello world. Hello world. Hello world.  $ python argparse_example_2.py 3 -s 'I love movie' I love movieI love movieI love movie

Python 添加命令行参数步骤

在实际场景中,我们应当为每个参数都添加一个帮助描述信息,参数可以分为位置参数和可选参数,它们的使用方式具有较大差别:

如果参数以-开头,则将其视为可选参数,例如脚本中的-s参数。否则,该参数为位置参数,如脚本中的数字参数为了清楚起见,应当始终为可选参数定义默认值。如果不显式的定义默认值,则默认为None,但这可能会令使用者困惑同时,在添加命令行参数时应当始终利用add_agrment()方法help参数添加带有参数描述的帮助信息,这在调用脚本时即为关键,能够帮助使用者了解每个命令行参数的含义

到此这篇关于Python 添加命令行参数步骤的文章就介绍到这了,更多相关Python 添加命令行参数内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,86人围观)

还没有评论,来说两句吧...