# argparse 中文文档

规范地址：https://npmcn.com/package/argparse/

版本：3\.0\.4
npm 元数据更新时间：2026-10-24T07:16:22.979Z
中文译文更新时间：2026-11-04T12:35:30.120Z
软件包许可：PSF-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/argparse
原文对照：https://npmcn.com/package/argparse/?lang=original
项目主页：https://github.com/nodeca/argparse#readme
源码仓库：https://github.com/nodeca/argparse

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：178 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2012-05-16T20:16:27.775Z
- 最新版本发布：2026-10-24T07:16:22.794Z
- 近 30 天下载量：1078899617（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 5 个）

## 中文简介

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

## 安装

```sh
npm install argparse
```

也可以使用：`pnpm add argparse`、`yarn add argparse`、`bun add argparse`

## README

# argparse

[![CI](https://github.com/nodeca/argparse/actions/workflows/ci.yml/badge.svg)](https://github.com/nodeca/argparse/actions/workflows/ci.yml) [![NPM version](https://img.shields.io/npm/v/argparse.svg)](https://www.npmjs.org/package/argparse)

用于node.js的CLI参数解析器 [sub-commands](https://docs.python.org/3.14/library/argparse.html#sub-commands) 支持。巨蟒港 [argparse](https://docs.python.org/3.14/library/argparse.html) (版本 [3.14.6](https://github.com/python/cpython/blob/v3.14.6/Lib/argparse.py)）.

**与原不同。**

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

的完整列表 [与Python的区别](https://npmcn.com/package/argparse/doc/port_difference.md)。 从v2升级的用户应该阅读 [迁移指南](https://npmcn.com/package/argparse/doc/migrate_v2_to_v3.md)。

## 例子

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

```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移植过来的例子。你可以找到详细的解释 [在这里](https://docs.python.org/3.14/library/argparse.html)。

## API文档

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

1.  [原始文档](https://docs.python.org/3.14/library/argparse.html)。
2.  [最初的教程](https://docs.python.org/3.14/howto/argparse.html)。
3.  [与Python的区别](https://npmcn.com/package/argparse/doc/port_difference.md)。
4.  [从v2迁移到v3](https://npmcn.com/package/argparse/doc/migrate_v2_to_v3.md)。

## 常见问题

### 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 和提交记录判断。

