
一起学Python-通过for对字典进行遍历
发布日期:2021-05-28 17:12:17
浏览次数:30
分类:精选文章
本文共 1974 字,大约阅读时间需要 6 分钟。
使用argparse模块进行参数处理的实用技巧
当我们开发Python脚本时,需要从命令行接受输入参数是一件常见的需求。argparse
模块是处理命令行参数的标准库,它能够帮助我们快速且简洁地实现参数 parsing(解析)功能。在本文中,我们将探讨如何通过argparse
模块高效地处理输入参数,并通过实际案例展示两种常用的添加参数的方式:独立添加和批量添加。
1. 基本用法:独立添加命令行参数
首先,我们来看最常见的操作——独立添加命令行参数。通过argparse
模块的add_argument
方法,我们可以为脚本添加所需的参数。以下是一个基本的示例:
import argparsedef main(): # 初始化参数解析器 all_info = argparse.ArgumentParser(description="设置测试参数") # 添加三个必填参数:-host, -p, -t all_info.add_argument('-host', '--host', required=True) all_info.add_argument('-p', '--port', required=True) all_info.add_argument('-t', '--time', required=True) # 解析命令行参数 all = all_info.parse_args() # 提取参数值并打印 host = all.host port = all.port time = all.time print("主机地址: [%s]" % host) print("主机端口: [%s]" % port) print("超时时间: [%s]" % time)if __name__ == '__main__': main()
2. 批量添加命令行参数
手动添加每个参数的代码虽然清晰,但当有大量参数需要添加时会显得繁琐。为了提高效率,我们可以使用argparse
模块的add_argument
方法的另一种使用方式:通过一个字典来批量添加参数信息。以下是一个实现批量添加的示例:
import argparsedef main(): # 初始化参数解析器 all_info = argparse.ArgumentParser(description="设置测试参数") # 定义一个包含所有参数信息的字典 data = { '-host': '--host', '-p': '--port', '-t': '--time', '-f': '--file' } # 根据字典添加所有参数 for i in data: parameter = i parameters = data.get(i) all_info.add_argument(parameter, parameters, required=True) # 解析命令行参数 all = all_info.parse_args() # 提取并打印参数值 host = all.host port = all.port time = all.time file = all.file print("文件选择: [%s]" % file) print("主机地址: [%s]" % host) print("主机端口: [%s]" % port) print("超时时间: [%s]" % time)if __name__ == '__main__': main()
3. 执行命令示例
无论是独立添加还是批量添加参数,调用脚本的方式都是一样的。可以将以下命令复制粘贴到终端执行:
python telnets.py -host localhost -p 80 -t 20 -f list.txt
4. 命令行参数的几个注意事项
- 参数的作用:
add_argument
方法支持多种参数类型,如必填参数(required=True
)、存储文件路径(help='文件路径'
)等。你可以根据需求选择合适的参数类型。 - 命名空间的便利性:解析完成后,所有参数会被存储在命名空间中(如
all.host
),方便后续程序调用。 - 参数的最合理分配:在添加参数时,确保参数的命名和描述是直观的,这样在使用时会更加方便。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月18日 08时47分29秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android 开发常用的工具类(更新ing)
2019-03-13
EasyUI的简单介绍
2019-03-13
初次安装webpack之后,提示安装webpack-cli
2019-03-13
Hbase压力测试
2019-03-14
StreamReader & StreamWriter
2019-03-14
C#中的类、方法和属性
2019-03-14
Python爬虫训练:爬取酷燃网视频数据
2019-03-14
Python数据分析入门(十九):绘制散点图
2019-03-14
Callable中call方法和Runnable中run方法的区别
2019-03-14
Linux yum提示Loaded plugins错误的解决方法
2019-03-14
Netty的体系结构及使用
2019-03-14
xshell解决文本粘贴格式错误
2019-03-14
什么是证券型代币?
2019-03-14
Android中获取并设置屏幕亮度
2019-03-14
Swift中使用DispatchGroup分组管理异步任务
2019-03-14
MVVM_Template
2019-03-14
网络+图片加载框架(英文版)
2019-03-14
Python imageio方法示例
2019-03-14