当前位置: 首页 > wzjs >正文

网站开发单子seo顾问推推蛙

网站开发单子,seo顾问推推蛙,贵州建设网老网站,旅游网站开发的意义argparse.add_argument 完全指南 🧱 基础篇:命令行参数解析入门 1. 模块初始化 import argparse# 创建参数解析器(所有操作的基础容器) parser argparse.ArgumentParser( progMyApp, # 程序名称(默认从sys.argv[0]…

argparse.add_argument 完全指南

🧱 基础篇:命令行参数解析入门

1. 模块初始化

import argparse# 创建参数解析器(所有操作的基础容器)
parser = argparse.ArgumentParser(
prog='MyApp', # 程序名称(默认从sys.argv[0]获取)
description='数据处理器',
epilog='示例: python app.py input.txt --mode fast'
)

2. 参数类型解析

位置参数(Positional Arguments)
# 必须按顺序提供的参数(无前缀)
parser.add_argument(
'input_file', # 参数名称
type=str, # 自动类型转换
help='输入文件路径'
)

▶ 调用方式:

python app.py data.csv # data.csv 赋值给 args.input_file
可选参数(Optional Arguments)

# 通过 - 或 -- 标识的参数(顺序无关)
parser.add_argument(
'-m', '--mode', # 短参数 + 长参数
choices=['fast', 'slow'],
default='fast',
help='运行模式(默认: fast)'
)

▶ 调用方式:

python app.py data.csv --mode slow

🔧 核心参数详解

参数作用描述高级特性说明
dest结果字典中的属性名默认自动生成(如 --mode → mode)
type类型强制转换支持自定义函数(见进阶篇)
nargs参数值的数量规则?*+数字
const与action配合使用的常量值常用于标志型参数
metavar帮助文档中显示的参数值占位符默认用大写参数名(如 MODE)

代码示例:复杂参数定义

parser.add_argument(
'--range',
type=float,
nargs=2, # 必须提供两个值
metavar=('MIN', 'MAX'),
help='取值范围(示例: --range 0.5 2.0)'
)

▶ 调用结果:

args.range[0.5, 2.0]

🚀 进阶篇:高级应用场景

场景1:动态参数处理

自定义类型验证
def valid_percentage(value):v = float(value)if not (0 <= v <= 1):raise argparse.ArgumentTypeError('必须在0-1之间')return vparser.add_argument(
'--threshold',
type=valid_percentage, # 使用自定义验证函数
default=0.5
)
自定义 Action 类
class UpperCaseAction(argparse.Action):def call(self, parser, namespace, values, option_string=None):setattr(namespace, self.dest, values.upper())parser.add_argument(
'--text',
action=UpperCaseAction, # 自动转为大写
type=str
)

场景2:复合参数结构

子命令系统(类似git)
subparsers = parser.add_subparsers(title='commands', dest='command')# 创建子解析器
parser_train = subparsers.add_parser('train', help='训练模式')
parser_train.add_argument('--epochs', type=int)parser_test = subparsers.add_parser('test', help='测试模式')
parser_test.add_argument('--batch-size')

▶ 调用方式:

python app.py train --epochs 50
python app.py test --batch-size 32

场景3: 处理路径参数

# 使用Path对象(Python 3.6+)
from pathlib import Path
parser.add_argument('--dir', type=Path)

⚠️ 避坑指南

# 错误:短参数重复定义
parser.add_argument('-v', ...)
parser.add_argument('-v', ...)  # 触发ArgumentError  
# 布尔参数的正确姿势
parser.add_argument("--verbose", action="store_true", help="显示详细信息")
# 推荐写法(互斥组)
group = parser.add_mutually_exclusive_group()
group.add_argument('--enable', action='store_true')
group.add_argument('--disable', action='store_false', dest='enable')

转义字符:

  • 若参数值包含 *、# 等符号,需在代码中用 \ 转义。
  • 示例:parser.add_argument(“–filter”, help=“过滤模式(如 *.txt)”)。

参数顺序:

  • 使用 nargs=argparse.REMAINDER 时,必须将其作为最后一个参数定义,否则后续参数无法解析。

💡 最佳实践:使用 argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) 可在帮助信息中显示默认值

http://www.dtcms.com/wzjs/258715.html

相关文章:

  • 做动画网站收录优美图片崩了
  • 有什么网站可以做ppt百度首页的ip地址
  • 赌球网站怎么做搜外滴滴友链
  • 汕头政务发布班级优化大师怎么用
  • 永嘉网站建设给企业做网站的公司
  • 免费网上商城模板宁波seo营销
  • 东莞住建局网站百度网盘下载速度慢破解方法
  • wordpress企业建站视频苏州网站建设公司
  • 前端网站开发框架网络软文怎么写
  • 深圳高端网站建设网页设计国内永久免费云服务器
  • 南宁seo网站推广服务关键词热度查询工具
  • 网站备案要到哪里下载百度快照替代
  • wordpress4.9免登陆发布接口seo排名点击首页
  • 阿里巴巴国际站运营培训腾讯企点app下载安装
  • 怎么在自己电脑上做网站福州seo视频
  • 网站里面网友点评怎么做网站友情链接连接
  • 房地产销售流程详细重庆好的seo平台
  • 厦门专业做网站国内新闻今日头条
  • 西安电子科技大学信息化建设处网站百度推广广告公司
  • 廊坊教育云网站建设我为什么不建议年轻人做运营
  • 手机复制链接提取视频的软件天津seo优化公司
  • css网页制作案例及素材优化设计答案五年级下册
  • 百度云域名没有备案怎么做网站小学生关键词大全
  • 手机网站 免费中国市场营销网
  • 电子商务网站建设实验原理关键词查找
  • 深圳市住房和城乡建设厅网站首页模板网站哪个好
  • 创建网站需要什么技术今日新闻 最新消息 大事
  • 网站建设售后服务承诺函国家免费培训学校
  • 个人养老保险查询个人账户查询官网seo蜘蛛屯
  • 大型 网站 建设 公司黄山网站seo