一字一诗 / 第 24 课 / 图 12
当前源码 + 本次错误演示

CLI 第三步:输出与报错各走各的通道

正常诗文或 JSON 写到标准输出;中文提示写到标准错误;失败返回 2。

lessons/24/build_cli/03_output.py · 第 30—40 行(当前源码节选)

 30          if args.output:
 31              write_json(args.output, poems)
 32          if args.json:
 33              print(json.dumps(poems, ensure_ascii=False, indent=2))
 34          else:
 35              for poem in poems:
 36                  print("\n".join(poem["lines"]))
 37      except (ValueError, FileNotFoundError) as error:
 38          print(f"提示:{error}", file=sys.stderr)
 39          return 2
 40      return 0

实际执行的命令

.venv/bin/python lessons/24/build_cli/03_output.py --count 0 --device cpu

标准输出

(空)

标准错误

提示:每次生成数量应在 1—20 之间。

执行结果

退出码 2 · 2026-09-19T00:55:55.558375+00:00