You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写Python程序良好用法输出的最佳实践及argparse示例请求

用法提示规范说明

你自己构思的写法完全符合行业通用的POSIX命令行用法约定,不存在不合理的问题:

  • 不带方括号的部分为必填参数
  • 用方括号[]包裹的部分为可选参数
  • 短选项(如-s1)后紧跟对应参数值是通用标准写法

针对你的场景,更推荐带占位符标识的提示写法,可读性更高:

Usage: py someProgram.py -s1 <SOMETHING1> [-s2 <SOMETHING2>]
参数说明:
  -s1 <SOMETHING1>  必填,第一个业务参数
  -s2 <SOMETHING2>  可选,第二个业务参数,默认值为XXX

用尖括号<>包裹参数占位符,可以更清晰地区分选项名和参数值。


argparse实现示例

使用Python标准库的argparse可以自动生成符合规范的用法提示,也支持直接通过属性访问参数值,无需手动解析sys.argv,完全符合你的需求,示例代码如下:

import argparse

def main():
    # 初始化参数解析器,自动支持-h/--help查看帮助
    parser = argparse.ArgumentParser(description="你的程序功能说明会显示在帮助信息开头")
    # 添加必填的-s1参数,dest指定属性名,required设为True表示必填
    parser.add_argument("-s1", required=True, dest="u", help="第一个必填业务参数")
    # 添加可选的-s2参数,可设置默认值
    parser.add_argument("-s2", dest="s2", help="第二个可选业务参数", default="默认填充值")
    # 解析所有传入参数
    args = parser.parse_args()
    
    # 直接通过属性获取参数值,这里args.u就能拿到-s1后传入的参数
    print("s1参数值:", args.u)
    print("s2参数值:", args.s2)
    # 后续写你的业务逻辑即可

if __name__ == "__main__":
    main()

实现效果

  • 运行py someProgram.py -h会自动输出规范的帮助信息,包含用法提示和每个参数的说明
  • 漏填必填的-s1参数时,程序会自动输出错误提示和用法信息,无需手动编写判断逻辑
  • 无需额外处理即可实现“参数绑定”需求,直接通过args.u就能获取-s1对应的值
  • 传入-s2时取传入值,未传入时自动使用设置的默认值

内容的提问来源于stack exchange,提问作者Wahalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:06:06