help= 写给谁看

add_argument("--to", help="目标单位") 里那个 help,最终出现在【0】。

开始练习 →

usage 行能看出什么

帮助的第一行是 usage: conv temp [-h] [--to {c,f,k}] value。光看这一行,能确定的是【0】。

开始练习 →

usage 是怎么生成的

给解析器设了 prog 和 description。运行下面这段程序,看它从 usage 行里取出了什么: import argparse p = argparse.ArgumentParser(prog="conv"

开始练习 →

每个子命令各有一份帮助

子命令各自有自己的帮助。运行下面这段程序,看主帮助和子命令帮助里各能找到什么: import argparse p = argparse.ArgumentParser(prog="conv") sub = p.add_

开始练习 →

补全:给每个参数配一句说明

三个参数都没有说明。给它们各加一句 help(内容随你写,但不能为空),让最后的检查数出 3。

开始练习 →

补全:让 usage 显示成产品名

现在的 usage 行第一个词是脚本文件名。补上 prog 和 description,让第一行显示成 conv、并有一句描述。输出 usage 的第二个词和描述。

开始练习 →

补全:不给子命令就打帮助

用户只敲了 conv,什么子命令都没给。补全 main:这种情况打印帮助并交回 2;给了子命令就交回 0。输出两次调用的退出码。

开始练习 →

argparse 报错时默认做了什么

用户敲 conv temp abc,value 转不成浮点数。argparse 默认的反应是【0】。

开始练习 →

怎么接管报错

想让 argparse 出错时不直接退出,而是交给自己处理。可行的做法是【0】。

开始练习 →

接管之后能拿到什么

下面把 error 重写成抛异常。运行这段程序,看两次错误各被接到了什么: import argparse class UsageError(Exception): pass class QuietParser(argparse

开始练习 →