文章目录
- 1.argparse库
- 字符串(`str`)
- 布尔值(`bool`)
- 选择(`choices`)
- 计数(`count`)
- 常量(`store_const` 和 `store_true`)
- 多个值(`nargs`)
- 可选参数(`optionals`)
- 必需参数(`required`)
- 默认值(`default`)
- 互斥组(`mutually_exclusive_group`)
- 2.re库
- 3.matplotlab库 pyplot 模块
1.argparse库
通过命令行,输入配置参数,执行对应的程序和操作。
import argparse
# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser(description='Process some integers.')
# 添加位置参数
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
# 添加可选参数
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
# 解析命令行参数
args = parser.parse_args()
# 使用参数
result = args.accumulate(args.integers)
print(result)
parser = argparse.ArgumentParser()
parser.add_argument('-a', type=str, help='a help')
parser.add_argument('-b', type=str, help='b help')
parser.add_argument('-c', type=int, help='c help')
args = parser.parse_args()
a= args.a
b= args.b
c= args.c
argparse
模块提供了多种方式来处理不同类型的命令行参数。以下是一些常见的参数类型和它们的用法:
字符串(str
)
字符串是最常见的参数类型,通常用于接受文本值。
parser.add_argument('--username', type=str, help='Your username')
布尔值(bool
)
布尔值参数通常用于开关选项,比如是否启用某个功能。
parser.add_argument('--verbose', action='store_true', help='Increase output verbosity')
在这个例子中,如果 --verbose
被指定,verbose
将被设置为 True
。
选择(choices
)
如果你想要用户从一组预定义的选项中选择,可以使用 choices
参数。
parser.add_argument('--color', type=str, choices=['red', 'green', 'blue'], help='Color of the frame')
计数(count
)
有时候你可能想要根据用户指定某个选项的次数来增加某个值。
parser.add_argument('-v', '--verbosity', action='count', default=0, help='Increase verbosity each time the option is encountered')
常量(store_const
和 store_true
)
store_const
用于将某个参数的值设置为一个常量。
parser.add_argument('--enable-foo', action='store_const', const=True, dest='foo_enabled')
store_true
是 store_const
的一个特例,它将参数的值设置为 True
。
parser.add_argument('--flag', action='store_true', help='Set a flag to true')
多个值(nargs
)
有时候你可能想要接受一个参数的多个值。
parser.add_argument('files', nargs='+', help='List of files to process')
在这个例子中,nargs='+'
表示参数可以接受一个或多个值。
可选参数(optionals
)
可选参数通常以 --
或 -
开头。
parser.add_argument('--output', '-o', type=str, help='Output file')
在这个例子中,--output
是一个长选项,而 -o
是一个短选项。
必需参数(required
)
默认情况下,所有位置参数都是必需的。但是,你可以明确地标记一个可选参数为必需的。
parser.add_argument('--config', required=True, help='Path to configuration file')
默认值(default
)
你可以为参数指定一个默认值。
parser.add_argument('--timeout', type=int, default=30, help='Set timeout in seconds')
在这个例子中,如果用户没有指定 --timeout
,它的值将默认为 30
。
互斥组(mutually_exclusive_group
)
有时候你可能想要确保用户只能从一组选项中选择一个。
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('--train', action='store_true')
group.add_argument('--test', action='store_true')
在这个例子中,用户必须指定 -train
或 -test
,但不能同时指定。
这些是 argparse
中一些常见的参数类型和用法。通过组合这些参数,你可以创建非常灵活和强大的命令行接口。
2.re库
re库是在字符串/文件中通过模式匹配,找到对应想获取的匹配值。
import re
def validate_email(email):
# 定义电子邮件的正则表达式模式
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
# 使用 re.match() 来检查电子邮件是否符合模式
if re.match(pattern, email):
return True
else:
return False
# 测试电子邮件验证函数
emails = ["example@test.com", "bad-email.com", "another@test123.org"]
for email in emails:
print(f"Email: {email}, Valid: {validate_email(email)}")
在这个例子中,我们定义了一个函数 validate_email
,它接受一个电子邮件地址作为参数,并使用正则表达式来验证其格式是否正确。
正则表达式模式解释:
^
:匹配字符串的开始。[a-zA-Z0-9._%+-]+
:匹配一个或多个字母、数字、点、下划线、百分号、加号或减号。@
:字面意义上的 “at” 符号。[a-zA-Z0-9.-]+
:匹配一个或多个字母、数字、点或减号。\.
:匹配点字符(需要转义,因为在正则表达式中点有特殊含义)。[a-zA-Z]{2,}
:匹配两个或更多的字母。$
:匹配字符串的结束。
输出将是:
Email: example@test.com, Valid: True
Email: bad-email.com, Valid: False
Email: another@test123.org, Valid: True
这个函数可以正确地验证电子邮件地址是否符合一般的电子邮件格式规范。通过将模式定义在函数内部,我们可以轻松地修改、重用或扩展正则表达式模式,而不必每次都从头开始编写正则表达式。
3.matplotlab库 pyplot 模块
Matplotlib 有很多模块,但是一般会用 pyplot 模块正常就够用了。
https://matplotlib.net.cn/stable/gallery/pyplots/index.html