Python
- 基础
-
库
- 其他
- argparse命令行参数解析
- asyncio自带异步编程库
- aiofiles异步文件读写库
- beautifulsoup4_HTML_XML解析库
- colorama_在终端输出漂亮的字
- datasets数据集处理
- html2text
- httpx_HTTP请求库
- litellm
- loguru日志库
- numpy科学计算基础库
- pillow图像处理
- pydantic数据验证
- pyyaml
- requests_HTTP请求库
- tenacity重试
- tiktoken计算Token量
- torch机器学习_深度学习框架
- tomli TOML文件解析库
- tomllib 自带TOML文件解析库
- unidiff_文本_文件差异对比
- uvicorn_Web服务器
- langchain
**argparse 是 Python 标准库中的一个模块,用于帮助开发者轻松编写用户友好的命令行接口(Command Line Interface,CLI)。**
---
## 一、argparse 是什么?(简单理解)
- 当你运行一个 Python 脚本时,有时希望用户在命令行里传入一些参数,比如:
```bash
python my_script.py --input data.txt --output result.txt
```
- **argparse 的作用就是:让你可以方便地定义脚本可以接受哪些命令行参数,解析用户输入的参数,并生成帮助信息。**
- 它是 Python 内置的,无需安装第三方库,功能强大且易于使用。
---
## 二、argparse 解决什么问题?
在没有 argparse 的情况下,如果你想让脚本接收命令行参数,通常只能通过 `sys.argv` 手动解析,比如:
```python
import sys
args = sys.argv[1:] # 获取所有参数
```
但这样处理很麻烦,比如:
- 无法指定参数名称(如 `--input`)
- 无法设置默认值
- 无法自动生成帮助信息
- 参数类型、必填校验都要自己写
**argparse 的作用就是:**
> 让你通过几行代码就能定义脚本支持的命令行参数,自动解析用户输入,支持参数类型检查、默认值、帮助信息等,大大简化命令行工具的开发。
---
## 三、argparse 基本使用示例
### 示例:一个最简单的脚本,接收一个名字参数
```python
import argparse
# 1. 创建解析器
parser = argparse.ArgumentParser(description="这是一个简单的命令行工具示例")
# 2. 添加参数
parser.add_argument("name", help="请输入你的名字")
# 3. 解析参数
args = parser.parse_args()
# 4. 使用参数
print(f"你好, {args.name}!")
```
运行方式:
```bash
python script.py 小明
```
输出:
```
你好, 小明!
```
---
### 示例:带选项参数(比如 --input 和 --verbose)
```python
import argparse
parser = argparse.ArgumentParser(description="处理文件的工具")
# 必选参数
parser.add_argument("filename", help="要处理的文件名")
# 可选参数
parser.add_argument("--verbose", "-v", action="store_true", help="显示详细信息")
parser.add_argument("--times", "-n", type=int, default=1, help="重复次数,默认为1")
args = parser.parse_args()
print(f"文件名: {args.filename}")
print(f"详细模式: {args.verbose}")
print(f"重复次数: {args.times}")
```
运行方式:
```bash
python script.py data.txt --verbose --times 3
```
或者简写:
```bash
python script.py data.txt -v -n 3
```
---
## 四、argparse 常见功能
| 功能 | 说明 |
|------|------|
| **定义位置参数** | 必须提供的参数,比如 `script.py filename` |
| **定义可选参数** | 以 `--` 或 `-` 开头的参数,比如 `--input file.txt` 或 `-i file.txt` |
| **设置默认值** | 可选参数可以设置默认值,如 `default=1` |
| **参数类型检查** | 比如 `type=int`,确保输入为数字 |
| **布尔开关** | 如 `--verbose`,可用 `action="store_true"` 实现开关功能 |
| **帮助信息** | 自动生成 `--help` 或 `-h` 的使用说明 |
| **参数组、子命令** | 支持更复杂的 CLI 设计(比如 git 那样的子命令结构) |
---
## 五、总结(中文)
> **argparse 是 Python 自带的标准库模块,用于解析命令行参数,可以让你轻松为脚本添加用户友好的命令行接口,支持定义参数、默认值、类型检查、帮助信息等功能,是开发命令行工具的必备工具。**
---
✅ **简单来说:**
> **argparse 是 Python 内置的命令行参数解析工具,让你可以为 Python 脚本定义和解析各种命令行选项和参数,自动生成帮助信息,非常适合开发实用的命令行工具或脚本。**