Python参数解析默认True变False

在 Python 的 argparse 中,如果要设置一个默认值为 True 的参数,并允许通过命令行将其改为 False,应使用 action='store_false'。这样,当命令行中指定该选项时,参数值会被设为 False;不指定时,则保持默认的 True

示例代码

python 复制代码
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--flag', action='store_false', help='Disable the flag (default: enabled)')
args = parser.parse_args()
print(args.flag)  # 默认 True,指定 --flag 后变为 False

命令行行为

  • 不指定 --flagargs.flag = True
  • 指定 --flagargs.flag = False

说明

  • action='store_false' 的语义是:选项出现时设为 False,否则为 True,正好符合"默认 True,指定变 False"的需求。
  • 若希望选项名更直观,可改用 --no-flag 并搭配 action='store_true',但那样默认值需设为 False,不符合题目"默认值为 true"的前提。

因此,直接使用 action='store_false' 是最简洁的解决方案。

相关推荐
曲幽5 小时前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
用户83562907805110 小时前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞13 小时前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派15 小时前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪17 小时前
AI 数学辅导老师项目构想和初始化
前端·后端·python
用户03321266636717 小时前
将 PDF 文档转换为图片【Python 教程】
python
悟空爬虫18 小时前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派19 小时前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风20 小时前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python
曲幽1 天前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic