Python中怎么处理命令行参数

发布时间:2021-07-10 11:30:17 作者:Leah
来源:亿速云 阅读:173

这期内容当中小编将会给大家带来有关Python中怎么处理命令行参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1.sys模块

Python中的sys模块具有argv功能。当通过终端触发main.py的执行时,此功能返回所有命令行参数的列表。返回列表中的第一个元素是main.py.

考虑下面的main.py示例

import sys

list_of_arguments = sys.argv

print(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.py
first_arg
[second_arg]
{"arg": 3}

2.带有大参数的sys模块

这是一种为Python代码提供参数的简单又强大的方法。它不是提供提供多个参数,而是提供单个“大”参数。这一个大参数是一个字典,键表示参数名,值表示它们的对应值。

由于在Python中读取时,dictionary参数被表示为字符串,因此应该将其转换为字典。这可以通过使用ast.literal_eval或者json.loads函数做到。ast或json模块需要相应地导入。

考虑下面的main.py示例:

import sys
import ast

raw_arguments = sys.argv[1]

print(raw_arguments)
arguments = ast.literal_eval(raw_arguments)

print(arguments['name']) # John
print(arguments['surname']) # Doe
print(arguments['age']) # 22

触发mian.py:

python main.py "{\"name\": \"John\", \"surname\": \"Doe\", \"age\": 22}"

返回:

{"name": "John", "surname": "Doe", "age": 22}
John
Doe
22

3.argparse模块

如果你想为应用程序提供适当的命令行界面,那么argparse就是要使用的模块。这是一个成熟的模块,提供开箱即用的参数解析、帮助消息以及参数被误用时会自动抛出错误。Python默认安装此模块。

要充分利用argparse提供的功能,需要一些时间来掌握。作为一个示例,考虑以下示例main.py:

import argparse

parser = 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

返回

John
Doe
22

上述就是小编为大家分享的Python中怎么处理命令行参数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. nodejs渐入佳境[7]-yargs处理命令行参数
  2. python命令行参数的案例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:python怎么编译成二进制文件

下一篇:python中inotify的作用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》