



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Python添加命令行参数步骤目录前言添加命令行参数的一般步骤命令行参数示例
前言
许多任务程序如果为其构造为一个命令行界面,就可以通过接受不同的参数来改变它的工作方式。例如,在爬虫程序中,不同URL通常可以作为命令行参数传递给任务程序,从而可以爬取不同网页中的数据。在Python标准库中包含一个强大的argparse模块,可以轻松创建丰富的命令行参数解析。
添加命令行参数的一般步骤
在程序脚本中,argparse的基本使用方式可以分三个步骤显示:
定义脚本要接受的参数,生成新的参数解析器调用定义的解析器,返回一个包含所有结果参数的对象使用带有参数的命令调用脚本,使得定义的参数行为生效
一般而言,使用命令行参数的脚本遵循以下结构:
导入相关库
定义函数
定义参数解析器
对参数进行操作
使用参数调用函数,以执行不同操作
其中,一般使用main函数来显式的声明代码的执行入口,简单情况下,我们可以直接使用命令行传入的参数而无需进行复杂处理。
命令行参数示例
接下来,我们通过一个示例来了解如何添加并使用命令行参数。首先创建一个脚本argparse_example.py,该脚本接受单个整数作为位置参数,并打印执行次数的Helloworld.。脚本代码如下,我们遵循上述结构,其中定义的main仅仅执行打印功能:
importargparse
defmain(num):
print('Helloworld.\n'*num)
if__name__=='__main__':
parse=argparse.ArgumentParser()
parse.add_argument('number',type=int,help='Anumber')
args=parse.parse_args()
main(args.number)
在脚本中,参数通过add_arguments添加到解析器。定义了所有参数之后,调用parse_args()将返回一个包含参数解析结果的对象,如果出现错误则退出执行。
调用脚本并检查参数的使用方式,不带参数调用脚本时会自动显示帮助信息,使用参数-h可以显示扩展帮助信息:
$pythonargparse_example.py
usage:argparse_example.py[-h]number
argparse_example.py:error:thefollowingargumentsarerequired:number
$pythonargparse_example.py-h
usage:argparse_example.py[-h]number
positionalarguments:
number
Anumber
optionalarguments:
-h,--help
showthishelpmessageandexit
使用额外参数调用脚本,可以按程序预期执行脚本:
$pythonargparse_example.py3
Helloworld.
Helloworld.
Helloworld.
$pythonargparse_example.pythree
usage:argparse_example.py[-h]number
argparse_example.py:error:argumentnumber:invalidintvalue:'three'
更改脚本,添加可选参数用于接受所需打印的字符串,且默认值为Helloworld,编写argparse_example_2.py脚本如下所示:
importargparse
defmain(string,num):
print(string*num)
if__name__=='__main__':
parser=argparse.ArgumentParser()
parser.add_argument('num',type=int,help='Anumber')
parser.add_argument('-s',type=str,help='Stringtoprint',default='Helloworld.\n')
args=parser.parse_args()
main(args.s,args.num)
再次执行脚本,可以看到帮助已经更新,使用-s选项可以打印不同的字符串:
$pythonargparse_example_2.py-h
usage:argparse_example_2.py[-h][-sS]num
positionalarguments:
num
Anumber
optionalarguments:
-h,--help
showthishelpmessageandexit
-sS
Stringtoprint
$pythonargparse_example_2.py3Helloworld.
Helloworld.
Helloworld.
$pythonargparse_example_2.py3-s'Ilovemovie'
IlovemovieIlovemovieIlovemovie
在实际场景中,我们应当为每个参数都添加一个帮助描述信息,参数可以分为位置参数和可选参数,它们的使用方式具有较大差别:
如果参数以-开头,则将其视为可选参数,例如脚本中的-s参数。否则,该参数为位置参数,如脚本中的数字参数为了清楚起见
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政工程实践运用试题及答案
- 小学数学教学由“1”到多 由多返“1”
- 合作经济与可持续发展试题及答案
- 艺术创作与批评技能测试卷
- 工程经济的创新思维探讨试题及答案
- 网络教育在线教育平台与课程资源开发
- 心理学社会认知专题知识梳理
- 村民合作参与农田养殖项目协议书
- 化学工程与工艺实践应用题
- 干货满满的中级经济师试题和答案
- 上海高一数学教材电子版
- GB 17675-2021汽车转向系基本要求
- 2020年7月辽宁省普通高中学业水平合格性考试生物试卷
- 危大工程巡视检查记录表施工电梯
- 麦当劳标准化管理手册 课件
- “危大工程”验收标识牌
- 人民币的故事(课堂PPT)
- 生产异常及停线管理规范(1)
- 学生英语读写情况调查分析报告(二)
- 河北工业大学本科生体育课程考核管理办法-河北工业大学本科生院
- 病房发生火灾应急预案
评论
0/150
提交评论