Python中怎么处理命令行参数
发表于:2023-03-21 作者:安全数据网编辑
编辑最后更新 2023年03月21日,这期内容当中小编将会给大家带来有关Python中怎么处理命令行参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.sys模块Python中的sys模块具有argv
这期内容当中小编将会给大家带来有关Python中怎么处理命令行参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1.sys模块
Python中的sys模块具有argv功能。当通过终端触发main.py的执行时,此功能返回所有命令行参数的列表。返回列表中的第一个元素是main.py.
考虑下面的main.py示例
import syslist_of_arguments = sys.argvprint(list_of_args[0]) print(list_of_args[1]) print(list_of_args[2]) print(list_of_args[3])
触发main.py:
python main.py first_arg "[second_arg]" "{\"arg\": 3}"
返回:
test.pyfirst_arg[second_arg]{"arg": 3}
2.带有大参数的sys模块
这是一种为Python代码提供参数的简单又强大的方法。它不是提供提供多个参数,而是提供单个"大"参数。这一个大参数是一个字典,键表示参数名,值表示它们的对应值。
由于在Python中读取时,dictionary参数被表示为字符串,因此应该将其转换为字典。这可以通过使用ast.literal_eval或者json.loads函数做到。ast或json模块需要相应地导入。
考虑下面的main.py示例:
import sysimport astraw_arguments = sys.argv[1]print(raw_arguments)arguments = ast.literal_eval(raw_arguments)print(arguments['name']) # Johnprint(arguments['surname']) # Doeprint(arguments['age']) # 22
触发mian.py:
python main.py "{\"name\": \"John\", \"surname\": \"Doe\", \"age\": 22}"
返回:
{"name": "John", "surname": "Doe", "age": 22}JohnDoe22
3.argparse模块
如果你想为应用程序提供适当的命令行界面,那么argparse就是要使用的模块。这是一个成熟的模块,提供开箱即用的参数解析、帮助消息以及参数被误用时会自动抛出错误。Python默认安装此模块。
要充分利用argparse提供的功能,需要一些时间来掌握。作为一个示例,考虑以下示例main.py:
import argparseparser = argparse.ArgumentParser(description='Personal information')parser.add_argument('--name', dest='name', type=str, help='Name of the candidate')parser.add_argument('--surname', dest='surname', type=str, help='Surname of the candidate')parser.add_argument('--age', dest='age', type=int, help='Age of the candidate')args = parser.parse_args()print(args.name)print(args.surname)print(args.age)
初始化ArgumentParses的对象后,我们使用add_argument
函数添加所有参数。此函数接收许多参数,其中包括参数名称(例如--name
)、目标变量、预期数据类型、要显示的帮助消息等。
触发main.py:
python main.py --name John --surname Doe --age 22
返回
JohnDoe22
上述就是小编为大家分享的Python中怎么处理命令行参数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
网络安全评估教育
计算机网络技术性考
黄浦区智能软件开发怎么样
新疆 网络安全 挑战
科技赋能融合互联网
部队 网络安全教育 六查六看
数据库和php有什么联系
全球服 数据库如何分库
企业网网络安全计划
企业的网络安全教育
网络安全工作领导批示
网络安全检查工作效果
网络安全法第二章解释
本地连不上服务器
计算机网络技术培训方向
软件开发行业的看法
身份证所用数据库
java版好玩pvp的服务器
视频服务器为系统中的
两个服务器共享数据库
云服务器玩游戏对电脑有影响吗
联想服务器新硬盘如何初始化
天津移动网络技术维护校招
fpga 数据库
上海与鲤互联网科技中心
集群和服务器配置
云彩服务器
读取数据库分离有什么作用
软件开发倒排工期模板
网络安全系统应具有的最基本功能