python命令行参数
时间:2023-3-1 21:39 作者:wen 分类: Python
在使用python开发脚本, 作为一个运维工具, 或者其他工具需要接受用户参数运行时, 这里就可以用到命令行传参的方式, 可以给使用者提供一个比较友好的交互体验.
python可以sys模块中的sys.argv来获取命令行参数
import sys
print('参数个数为',len(sys.argv),'个参数')
print('参数列表', str(sys.argv))
命令行参数-argparse模块
import argparse
# 创建一个解析器对象
parse = argparse.ArgumentParser(prog='my - program', usage='%(prog)s [options] usage', description='my - description',
epilog='my - epilog')
# 添加参数选项
# 必须参数
parse.add_argument('name', type=str, help='你自己的名字')
parse.add_argument('age', type=str, help='你自己的年龄')
# 可选参数
# parse.add_argument('-s', '--sex', type=str, help='你的性别')
# parse.add_argument('-s', '--sex', type=str, action='append', help='你的性别')
parse.add_argument('-s', '--sex', type=str, help='你的性别',default='男',choices=['男','女','male','female'])
# print(parse.print_help())
# 开始解析参数
result = parse.parse_args()
print(result)
print(result.name, result.age, result.sex)
add_argument参数:
metaver: 帮助信息中显示的参数名称
const: 保存一个常量
default: 默认值
type: 参数类型, 默认为str
choices: 设置参数值范围, 如果choices中的类型不是字符串, 记得指定type
require: 该选项是否必须, 默认为 true
dest: 参数名
模拟mysql登入
import argparse
# 创建一个解析器对象
parse = argparse.ArgumentParser(prog='系统登入', usage='%(prog)s [options] usage', description='模拟mysql登入',
epilog='my - epilog')
# 添加参数选项
# 必须参数
parse.add_argument('mysql', type=str, help='登入数据库')
parse.add_argument('-u', type=str, help='用户名', dest='user')
parse.add_argument('-p', type=str, help='密码', dest='pwd')
# 可选参数
# parse.add_argument('-s', '--sex', type=str, help='你的性别')
# parse.add_argument('-s', '--sex', type=str, action='append', help='你的性别')
# parse.add_argument('-s', '--sex', type=str, help='你的性别',default='男',choices=['男','女','male','female'])
# print(parse.print_help())
# 开始解析参数
result = parse.parse_args()
print(result)
if result.user == 'root' and result.pwd == 'root':
print('登入成功')
else:
print('登入失败')
print(result.user, result.pwd, result.sex)