argparse

中文文档
3.0.4发布于 2026/10/24PSF-2.0TypeScriptCommonJS零依赖近 30 天下载 10.8亿

CLI参数解析器。python的argparse的本地端口。

中文使用文档

argparse

CI NPM version

用于node.js的CLI参数解析器 sub-commands 支持。巨蟒港 argparse (版本 3.14.6).

与原不同。

  • JS不支持关键字参数。
    • 传递选项: new ArgumentParser({ description: 'example', add_help: true })。
  • JS没有python的类型 int, float,……
    • 使用字符串类型的名称: .add_argument('-b', { type: 'int', help: 'help' })。
  • %r 格式说明符的用法 require('util').inspect()。

的完整列表 与Python的区别。 从v2升级的用户应该阅读 迁移指南。

例子

下面的代码是一个JS程序,它接受一个整数列表,并产生总和或最大值:

const { ArgumentParser } = require('argparse')

const parser = new ArgumentParser({ description: 'Process some integers.' })

let sum = ints => ints.reduce((a, b) => a + b)
let max = ints => ints.reduce((a, b) => a > b ? a : b)

parser.add_argument('integers', { metavar: 'N', type: 'int', nargs: '+',
                                  help: 'an integer for the accumulator' })
parser.add_argument('--sum',    { dest: 'accumulate', action: 'store_const',
                                  const: sum, default: max,
                                  help: 'sum the integers (default: find the max)' });

let args = parser.parse_args()
console.log(args.accumulate(args.integers))

假设上面的JS代码被保存到一个名为prog.js的文件中,它可以在命令行运行并提供有用的帮助信息:

$ node prog.js -h
usage: prog.js [-h] [--sum] N [N ...]

Process some integers.

positional arguments:
  N           an integer for the accumulator

options:
  -h, --help  show this help message and exit
  --sum       sum the integers (default: find the max)

当使用适当的参数运行时,它会打印命令行整数的总和或最大值:

$ node prog.js 1 2 3 4
4
$ node prog.js 1 2 3 4 --sum
10

如果传入无效参数,则会发出错误:

$ node prog.js a b c
usage: prog.js [-h] [--sum] N [N ...]
prog.js: error: argument N: invalid 'int' value: 'a'

这是一个从Python移植过来的例子。你可以找到详细的解释 在这里。

API文档

由于这是一个分歧最小的移植,因此没有单独的文档。 请使用原版,并注明差异。

  1. 原始文档。
  2. 最初的教程。
  3. 与Python的区别。
  4. 从v2迁移到v3。

版本与发布记录

argparse 共发布 35 个版本,首次发布于 2012/05/17;过去 12 个月发布了 5 个版本。

版本发布日期距今
3.0.4latest2026/10/2412 天前
3.0.32026/10/1621 天前
3.0.22026/09/111 个月前
3.0.12026/08/262 个月前
3.0.02026/07/143 个月前
2.0.12020/08/296 年前

关于 argparse 的常见问题

argparse 是什么?

CLI参数解析器。python的argparse的本地端口。

如何安装 argparse?

在项目目录运行 npm install argparse,或使用 pnpm add / yarn add / bun add。

argparse 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

argparse 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

argparse 可以商用吗?

argparse 使用 PSF-2.0 许可。声明的许可为 PSF-2.0,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

argparse 的下载量有多少?

根据 npm 官方下载统计,argparse 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,078,899,617 次,日均约 35,963,321 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

argparse 还在维护吗?

最新版本 3.0.4 发布于 2026/10/24(12 天前);至今共发布 35 个版本,其中过去 12 个月发布了 5 个;首次发布于 2012/05/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。