baidupcs-py


Namebaidupcs-py JSON
Version 0.7.5 PyPI version JSON
download
home_pagehttps://github.com/PeterDing/BaiduPCS-Py
SummaryBaidu Pcs Api and App
upload_time2023-01-30 09:15:28
maintainer
docs_urlNone
authorPeterDing
requires_python>=3.7,<3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # BaiduPCS-Py

[![PyPI version](https://badge.fury.io/py/baidupcs-py.svg)](https://badge.fury.io/py/baidupcs-py)
![Build](https://github.com/PeterDing/BaiduPCS-Py/workflows/BaiduPCS-Py%20Build%20&%20Test/badge.svg)
[![Gitter](https://badges.gitter.im/PeterDing/BaiduPCS-Py.svg)](https://gitter.im/PeterDing/BaiduPCS-Py?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

A BaiduPCS API and An App

BaiduPCS-Py 是百度网盘 pcs 的非官方 api 和一个命令行运用程序。

> 也是 https://github.com/PeterDing/iScript/blob/master/pan.baidu.com.py 的重构版。

**BaiduPCS-Py 旨在为个人用户提供操作自己用户网盘文件的 api 和简易命令行工具,不提供任何下载加速破解的服务。普通用户下载是限速的。想要下载不限速,请购买 SVIP。**

---

## 阿里云盘 api 和 命令行客户端在 https://github.com/PeterDing/AliPCS-Py

---

- [安装](#安装)
- [更新](#更新)
- [API](#API)
- [用法](#用法)
- [命令别名](#命令别名)
- [对多个帐号进行相同操作](#对多个帐号进行相同操作)
- [自动补全](#自动补全)

#### 用户相关命令

- [添加用户](#添加用户)
- [设置账号名](#设置账号名)
- [显示当前用户的信息](#显示当前用户的信息)
- [更新用户信息](#更新用户信息)
- [显示所有用户](#显示所有用户)
- [切换当前用户](#切换当前用户)
- [删除一个用户](#删除一个用户)
- [显示当前工作目录](#显示当前工作目录)
- [切换当前工作目录](#切换当前工作目录)

#### 无感加密解密文件

- [设置文件加密密码](#设置文件加密密码)

#### 文件操作相关命令

- [文件操作](#文件操作)
- [列出网盘路径下的文件](#列出网盘路径下的文件)
- [搜索文件](#搜索文件)
- [显示文件内容](#显示文件内容)
- [创建目录](#创建目录)
- [移动文件](#移动文件)
- [文件重命名](#文件重命名)
- [拷贝文件](#拷贝文件)
- [删除文件](#删除文件)
- [下载文件或目录](#下载文件或目录)
- [播放媒体文件](#播放媒体文件)
- [上传文件](#上传文件)
- [同步本地目录到远端](#同步本地目录到远端)

#### 秒传相关命令

- [关于秒传](#关于秒传)
- [显示网盘中文件的秒传连接](#显示网盘中文件的秒传连接)
- [列出保存的文件秒传信息](#列出保存的文件秒传信息)
- [搜索保存的文件秒传信息](#搜索保存的文件秒传信息)
- [用秒传连接或参数上传](#用秒传连接或参数上传)

#### 分享相关命令

- [分享文件](#分享文件)
- [列出分享链接](#列出分享链接)
- [取消分享链接](#取消分享链接)
- [列出其他用户分享链接中的文件](#列出其他用户分享链接中的文件)
- [保存其他用户分享的链接](#保存其他用户分享的链接)

#### 离线下载相关命令

- [添加离线下载任务](#添加离线下载任务)
- [列出离线下载任务](#列出离线下载任务)
- [清除已经下载完和下载失败的任务](#清除已经下载完和下载失败的任务)
- [取消下载任务](#取消下载任务)
- [删除所有离线下载任务](#删除所有离线下载任务)

#### HTTP 服务

- [开启 HTTP 服务](#开启-HTTP-服务)

## 安装

需要 Python 版本大于或等于 3.7

```
pip3 install Cython
pip3 install BaiduPCS-Py
```

### Windows 依赖

在 Windows 上,BaiduPCS-Py 依赖 [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)。

在安装 BaiduPCS-Py 前,请先安装 [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/),再在其中勾选 `C++ 生成工具` 并安装。完成后即可安装 BaiduPCS-Py。

## 更新

```
pip3 install BaiduPCS-Py --upgrade
```

## API

BaiduPCS-Py 的百度网盘 API 只依赖 requests,方便用户开发自己的运用。

```python
from baidupcs_py.baidupcs import BaiduPCSApi

api = BaiduPCSApi(bduss=bduss, cookies=cookies)
```

注意,下面几个 api 不是线程安全的:

- `BaiduPCSApi.access_shared`
- `BaiduPCS.access_shared`
- `BaiduPCSApi.shared_paths`
- `BaiduPCS.shared_paths`

## 用法

```
BaiduPCS-Py --help
```

## 命令别名

可以用下面的命令别名代替原来的命令名。

| 别名 | 原名            |
| ---- | --------------- |
| w    | who             |
| uu   | updateuser      |
| su   | su              |
| ul   | userlist        |
| ua   | useradd         |
| an   | accountname     |
| ep   | encryptpwd      |
| ud   | userdel         |
| l    | ls              |
| f    | search          |
| md   | mkdir           |
| mv   | move            |
| rn   | rename          |
| cp   | copy            |
| rm   | remove          |
| d    | download        |
| p    | play            |
| u    | upload          |
| sn   | sync            |
| rl   | rplist          |
| rs   | rpsearch        |
| rp   | rp              |
| S    | share           |
| sl   | shared          |
| cs   | cancelshared    |
| lsp  | listsharedpaths |
| s    | save            |
| a    | add             |
| t    | tasks           |
| ct   | cleartasks      |
| cct  | canceltasks     |
| sv   | server          |

## 对多个帐号进行相同操作

BaiduPCS-Py 支持对多个帐号进行相同操作。比如,用相同关键字搜索多个帐号,上传相同的文件/目录到多个帐号,等等。

使用者只需用 `--accounts` (或 `-u`) 选项来指定要操作的帐号名即可。

`--accounts` 接受一个参数,这个参数是用“,”连接的要进行操作帐号名的部分字符。假设我们现在有 3 个帐号,帐号名分别是 `Tom`,`Peter`,`Joy`。
现在我要同时对`Tom`和`Joy`进行关键字搜索。我们可以用下面的命令进行:

```
BaiduPCS-Py --accounts 'Tom,Joy' search 'keyword' / -R
```

或者给出帐号名的部分片段:

```
BaiduPCS-Py --accounts 'om,oy' search 'keyword' / -R
```

更简单可以用:

```
# Tom, Joy 都包含字符 "o"
BaiduPCS-Py --accounts 'o' search 'keyword' / -R
```

如果要对所有帐号进行操作用 `--accounts ''`。

如果不使用 `--accounts` 选项,默认只对当前帐号进行操作。

以下命令支持对多个帐号进行操作:

- pwd
- ls
- search
- cat
- mkdir
- move
- rename
- copy
- remove
- download
- play
- upload
- sync
- rp
- share
- shared
- cancelshared
- save
- add
- tasks
- cleartasks
- canceltasks
- purgetasks
- server

**注意**: `--accounts` 一定要跟在 `BaiduPCS-Py` 后,命令前。

## 自动补全

在 Bash, Zsh 和 Fish 上 `BaiduPCS-Py` 命令支持自动补全。

- 在 Bash 上,加入下面一行到 `~/.bashrc`

  `eval "$(_BAIDUPCS_PY_COMPLETE=bash_source BaiduPCS-Py)"`

- 在 Zsh 上,加入下面一行到 `~/.zshrc`

  `eval "$(_BAIDUPCS_PY_COMPLETE=zsh_source BaiduPCS-Py)"`

- 在 Fish 上,加入下面一行到 `~/.config/fish/completions/foo-bar.fish`

  `eval (env _BAIDUPCS_PY_COMPLETE=fish_source BaiduPCS-Py)`

## 添加用户

BaiduPCS-Py 目前不支持用帐号登录。需要使用者在 pan.baidu.com 登录后获取 cookies 和其中的 bduss 值,并用命令 `useradd` 为 BaiduPCS-Py 添加一个用户。

使用者可以用下面的方式获取用户的 cookies 和 bduss 值。

1. 登录 pan.baidu.com
2. 打开浏览器的开发者工具(如 Chrome DevTools)。
3. 然后选择开发者工具的 Network 面板。
4. 在登录后的页面中任意点开一个文件夹。
5. 在 Network 面板中找到 `list?....` 一行,然后在右侧的 Headers 部分找到 `Cookie:` 所在行,复制 `Cookie:` 后的所有内容作为 cookies 值,其中的 `BDUSS=...;` 的 `...` (没有最后的字符;)作为 bduss 值。

![cookies](./imgs/cookies.png)

现在找到了 cookies 和 bduss 值,我们可以用下面的命令添加一个用户。

交互添加:

```
BaiduPCS-Py useradd
```

或者直接添加:

```
BaiduPCS-Py useradd --cookies "cookies 值" --bduss "bduss 值"
```

你也可以只添加 `bduss`,省去 `cookies` (或 `cookies` 中没有 `STOKEN` 值),但这会让你无发使用 `share` 和 `save` 命令来转存其他用法的分享文件。

BaiduPCS-Py 支持多用户,你只需一直用 `useradd` 来添加用户即可。

## 设置账号名

```
BaiduPCS-Py accountname --account-name "my account"
```

| Option                    | Description                        |
| ------------------------- | ---------------------------------- |
| --account-name, --an TEXT | 设置账号名,用于指定运行帐号和显示 |

## 显示当前用户的信息

```
BaiduPCS-Py who
```

或者:

```
BaiduPCS-Py who user_id
```

指明显示用户 id 为 `user_id` 的用户信息。

### 选项

| Option                      | Description  |
| --------------------------- | ------------ |
| -K, --show-encrypt-password | 显示加密密码 |

## 更新用户信息

默认更新当前用户信息。

```
BaiduPCS-Py updateuser
```

也可指定多个 `user_id`

```
BaiduPCS-Py updateuser user_id
```

| Option | Description      |
| ------ | ---------------- |
| --all  | 更新所有用户信息 |

## 显示所有用户

```
BaiduPCS-Py userlist
```

## 切换当前用户

```
BaiduPCS-Py su
```

或者指定用户列表中用户所在的位置:

```
BaiduPCS-Py su 2
```

## 删除一个用户

```
BaiduPCS-Py userdel
```

## 设置文件加密密码

> **注意**: `v0.5.17` 加密的文件格式(Version 2)不兼容以后的版本。

BaiduPCS-Py 支持“无感的”文件加密。

BaiduPCS-Py 可以加密上传文件,在下载的时候自动解密,让使用者感觉不到加密解密的过程。

如果使用者需要将保密文件上传至百度网盘保存,可以使用这个方法。即使帐号被盗,攻击者也无法还原文件内容。

BaiduPCS-Py 支持以下加密方法:

- **Simple** 一种简单的加密算法。根据密钥生成一个字节对照表来加密解密文件。
  速度快,但**不安全**,不建议加密重要文件。
  因为这种算法加解密不需要知道上下文信息,所以,下载时支持分段下载,如果是媒体文件则支持拖动播放。
  推荐用于加密不重要的媒体文件。
- **ChaCha20** 工业级加密算法,速度快,推荐用于加密重要文件。不支持分段下载。
- **AES256CBC** 工业级加密算法,推荐用于加密重要文件。不支持分段下载。

**注意**:用命令 `encryptpwd` 设置的密码**只是为当前用户**的。

为当前用户设置加密密码:

交互添加:

```
BaiduPCS-Py encryptpwd
```

或者直接添加:

```
BaiduPCS-Py encryptpwd --encrypt-password 'my-encrypt-password'
```

上传并加密文件:

上传和同步文件时只需要指定加密算法就可。如果不指定就不加密。

```
# 默认使用上面设置的 `encrypt-password`
BaiduPCS-Py upload some-file.mp4 some-dir/ /to/here --encrypt-type AES256CBC
```

下载并用上面设置的 `encrypt-password` 自动解密文件:

```
BaiduPCS-Py download /to/here/some-file.mp4 /to/here/some-dir/
```

也可以使用临时的 `encrypt-password`:

```
BaiduPCS-Py upload some-file.mp4 some-dir/ /to/here --encrypt-type Simple --encrypt-password 'onlyyou'
```

但在使用临时的 `encrypt-password` 后,`cat`、下载和播放这些文件时需要指定 `encrypt-password`,但不需要指定加密算法,程序会自动检查加密算法:

```
# 下载
BaiduPCS-Py download /to/here/some-file.mp4 /to/here/some-dir/  --encrypt-password 'onlyyou'

# 开启本地服务并播放
BaiduPCS-Py play /to/here/some-file.mp4 --encrypt-password 'onlyyou' --use-local-server
```

显示当前用户的密钥:

```
BaiduPCS-Py who --show-encrypt-password
```

BaiduPCS-Py 下载时默认会解密文件,如果想要下载但不解密文件,需要加 `--no-decrypt`

```
BaiduPCS-Py download some-file --no-decrypt
```

## 文件操作

BaiduPCS-Py 操作网盘中的文件可以使用文件的绝对路径或相对路径(相对与当前目录 pwd)。

每一个用户都有自己的当前工作目录(pwd),默认为 `/` 根目录。

使用者可以用 `cd` 命令来切换当前的工作目录(pwd)。

下面所有涉及网盘路径的命令,其中如果网盘路径用的是相对路径,那么是相对于当前工作目录(pwd)的。
如果是网盘路径用的是绝对路径,那么就是这个绝对路径。

## 显示当前工作目录

```
BaiduPCS-Py pwd
```

## 切换当前工作目录

切换到绝对路径:

```
BaiduPCS-Py cd /to/some/path
```

切换到相对路径:

```
# 切换到 (pwd)/../path
BaiduPCS-Py cd ../path
```

## 列出网盘路径下的文件

```
BaiduPCS-Py ls [OPTIONS] [REMOTEPATHS]...

BaiduPCS-Py ls /absolute/path

# or
BaiduPCS-Py ls relative/path
```

### 选项

| Option                                               | Description                                           |
| ---------------------------------------------------- | ----------------------------------------------------- |
| -r, --desc                                           | 逆序排列文件                                          |
| -n, --name                                           | 依名字排序                                            |
| -t, --time                                           | 依时间排序                                            |
| -s, --size                                           | 依文件大小排序                                        |
| -R, --recursive                                      | 递归列出文件                                          |
| -I, --include TEXT                                   | 筛选包含这个字符串的文件                              |
| --include-regex, --IR TEXT                           | 筛选包含这个正则表达式的文件                          |
| -E, --exclude TEXT                                   | 筛选 **不** 包含这个字符串的文件                      |
| --exclude-regex, --ER TEXT                           | 筛选 **不** 包含这个正则表达式的文件                  |
| -f, --is-file                                        | 筛选 **非** 目录文件                                  |
| -d, --is-dir                                         | 筛选目录文件                                          |
| --no-highlight, --NH                                 | 取消匹配高亮                                          |
| -S, --show-size                                      | 显示文件大小                                          |
| -D, --show-date                                      | 显示文件创建时间                                      |
| -M, --show-md5                                       | 显示文件 md5                                          |
| -A, --show-absolute-path                             | 显示文件绝对路径                                      |
| --show-dl-link, --DL                                 | 显示文件下载连接                                      |
| --show-hash-link, --HL                               | 显示文件秒传连接                                      |
| --hash-link-protocol, --HLP [cs3l \| short \| bdpan] | 显示文件 hash 链接,并指定协议                        |
| --no-check-md5, --NC                                 | 显示文件 cs3l:// 连接时不检查 md5                     |
| --csv                                                | 用 csv 格式显示,单行显示,推荐和 --DL 或 --HL 一起用 |
| --only-dl-link, --ODL                                | 只显示文件下载连接                                    |
| --only-hash-link, --OHL                              | 只显示文件秒传连接                                    |

## 统计路径下文件所占用空间

统计网盘路径下的文件所占用的空间

```
BaiduPCS-Py du [OPTIONS] [REMOTEPATHS]...

# 统计特定文件
BaiduPCS-Py du /some/path --include .mp4
```

| Option                     | Description                      |
| -------------------------- | -------------------------------- |
| -R, --recursive            | 递归计算所有文件                 |
| -I, --include TEXT         | 筛选包含这个字符串的文件         |
| --include-regex, --IR TEXT | 筛选包含这个正则表达式的文件     |
| -E, --exclude TEXT         | 筛选 不 包含这个字符串的文件     |
| --exclude-regex, --ER TEXT | 筛选 不 包含这个正则表达式的文件 |

## 搜索文件

搜索包含 `keyword` 的文件

```
BaiduPCS-Py search [OPTIONS] KEYWORD [REMOTEDIR]

# 在当前工作目录中搜索
BaiduPCS-Py search keyword

# or
BaiduPCS-Py search keyword /absolute/path

# or
BaiduPCS-Py search keyword relative/path
```

### 选项

| Option                     | Description                          |
| -------------------------- | ------------------------------------ |
| -R, --recursive            | 递归搜索文件                         |
| -I, --include TEXT         | 筛选包含这个字符串的文件             |
| --include-regex, --IR TEXT | 筛选包含这个正则表达式的文件         |
| -E, --exclude TEXT         | 筛选 **不** 包含这个字符串的文件     |
| --exclude-regex, --ER TEXT | 筛选 **不** 包含这个正则表达式的文件 |
| -f, --is-file              | 筛选 **非** 目录文件                 |
| -d, --is-dir               | 筛选目录文件                         |
| --no-highlight, --NH       | 取消匹配高亮                         |
| -S, --show-size            | 显示文件大小                         |
| -D, --show-date            | 显示文件创建时间                     |
| -M, --show-md5             | 显示文件 md5                         |
| --csv                      | 用 csv 格式显示                      |

## 显示文件内容

```
BaiduPCS-Py cat [OPTIONS] REMOTEPATH
```

### 选项

| Option                        | Description                  |
| ----------------------------- | ---------------------------- |
| -e, --encoding TEXT           | 文件编码,默认自动解码       |
| --no-decrypt, --ND            | 不解密                       |
| --encrypt-password, --ep TEXT | 加密密码,默认使用用户设置的 |

## 创建目录

```
BaiduPCS-Py mkdir [OPTIONS] [REMOTEDIRS]...
```

### 选项

| Option     | Description |
| ---------- | ----------- |
| -S, --show | 显示目录    |

## 移动文件

移动一些文件到一个目录中。

```
BaiduPCS-Py move [OPTIONS] [REMOTEPATHS]... REMOTEDIR
```

### 选项

| Option     | Description |
| ---------- | ----------- |
| -S, --show | 显示结果    |

## 文件重命名

```
BaiduPCS-Py rename [OPTIONS] SOURCE DEST
```

### 选项

| Option     | Description |
| ---------- | ----------- |
| -S, --show | 显示结果    |

## 拷贝文件

拷贝一些文件到一个目录中。

```
BaiduPCS-Py move [OPTIONS] [REMOTEPATHS]... REMOTEDIR
```

### 选项

| Option     | Description |
| ---------- | ----------- |
| -S, --show | 显示结果    |

## 删除文件

```
BaiduPCS-Py remove [OPTIONS] [REMOTEPATHS]...
```

## 下载文件或目录

```
BaiduPCS-Py download [OPTIONS] [REMOTEPATHS]...
```

> **注意**: 请用 `me`, `aget_py` 或 `aget_rs` 下载大于 5MB 的文件。用 aria2 下载大于 5MB 的文件会失败。 ([#27](https://github.com/PeterDing/BaiduPCS-Py/issues/27))

**`--chunk-size` 从 v0.6.27 开始不能大于 `5M`,这是百度服务的限制。超过 `5M` 会报 403 错误。**

### 选项

| Option                                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -o, --outdir TEXT                                      | 指定下载本地目录,默认为当前目录                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -R, --recursive                                        | 递归下载                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| -f, --from-index INTEGER                               | 从所有目录中的第几个文件开始下载,默认为 0(第一个)                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -I, --include TEXT                                     | 筛选包含这个字符串的文件                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --include-regex, --IR TEXT                             | 筛选包含这个正则表达式的文件                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| -E, --exclude TEXT                                     | 筛选 不 包含这个字符串的文件                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --exclude-regex, --ER TEXT                             | 筛选 不 包含这个正则表达式的文件                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -s, --concurrency INTEGER                              | 下载同步链接数,默认为 5。数子越大下载速度越快,但是容易被百度封锁                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -k, --chunk-size TEXT                                  | 同步链接分块大小,最大不能超过 5M                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -q, --quiet                                            | 取消第三方下载应用输出                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --out-cmd, --OC                                        | 输出第三方下载应用命令                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -d, --downloader [ me \| aget_py \| aget_rs \| aria2 ] | 指定下载应用<br> <br> 默认为 me (BaiduPCS-Py 自己的下载器,支持断续下载)<br> me 使用多文件并发下载。<br> <br> 除 me 外,其他下载器,不使用多文件并发下载,使用一个文件多链接下载。<br> 如果需要下载多个小文件推荐使用 me,如果需要下载少量大文件推荐使用其他下载器。对于 SVIP 用户,用哪个下载器都很快。<br> <br> aget_py (https://github.com/PeterDing/aget) 默认安装<br> aget_rs (下载 https://github.com/PeterDing/aget-rs/releases)<br> aria2 (下载 https://github.com/aria2/aria2/releases)<br> |
| --encrypt-password, --ep TEXT                          | 加密密码,默认使用用户设置的                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

## 播放媒体文件

```
BaiduPCS-Py play [OPTIONS] [REMOTEPATHS]...
```

**注意**: 大于 **5MB** 的媒体文件无法直接播放,需要加 `-s` 使用本地服务器播放。

`play` 命令默认播放带有媒体后缀的文件,如 `abc.mp4`, `abc.mp3`。如果需要播放的媒体文件没有用常规的媒体文件后缀,则需要加选项 `--ignore-ext`。

### 选项

| Option                        | Description                                                                 |
| ----------------------------- | --------------------------------------------------------------------------- |
| -R, --recursive               | 递归播放                                                                    |
| -f, --from-index INTEGER      | 从所有目录中的第几个文件开始播放,默认为 0(第一个)                        |
| -I, --include TEXT            | 筛选包含这个字符串的文件                                                    |
| --include-regex, --IR TEXT    | 筛选包含这个正则表达式的文件                                                |
| -E, --exclude TEXT            | 筛选 不 包含这个字符串的文件                                                |
| --exclude-regex, --ER TEXT    | 筛选 不 包含这个正则表达式的文件                                            |
| --player-params, --PP TEXT    | 第三方播放器参数                                                            |
| -m, --m3u8                    | 获取 m3u8 文件并播放                                                        |
| -q, --quiet                   | 取消第三方播放器输出                                                        |
| --shuffle, --sf               | 随机播放                                                                    |
| --ignore-ext, --IE            | 不用文件名后缀名来判断媒体文件                                              |
| --out-cmd, --OC               | 输出第三方播放器命令                                                        |
| -p, --player [mpv]            | 指定第三方播放器<br><br>默认为 mpv (https://mpv.io)                         |
| -s, --use-local-server        | 使用本地服务器播放。大于 5MB 的媒体文件无法直接播放,需要使用本地服务器播放 |
| --encrypt-password, --ep TEXT | 加密密码,默认使用用户设置的                                                |

## 上传文件

上传一些本地文件或目录到网盘目录。

BaiduPCS-Py 首先会尝试秒传。如果秒传失败,会使用分片上传上传文件。

上传过程中,按 “p” 可以暂停或继续上传。

```
BaiduPCS-Py upload [OPTIONS] [LOCALPATHS]... REMOTEDIR
```

指定上传方式:

`--upload-type Many`: 同时上传多个文件。

适合大多数文件长度小于 100M 以下的情况。

```
BaiduPCS-Py upload --upload-type Many [OPTIONS] [LOCALPATHS]... REMOTEDIR
```

`--upload-type One`: 一次只上传一个文件,但同时上传文件的多个分片。

适合大多数文件长度大于 1G 以上的情况。

```
BaiduPCS-Py upload --upload-type One [OPTIONS] [LOCALPATHS]... REMOTEDIR
```

指定同时上传连接数量:

`--max-workers` 默认为 CPU 核数。

```
BaiduPCS-Py upload --max-workers 4 [OPTIONS] [LOCALPATHS]... REMOTEDIR
```

### 注意:upload 上传本地目录有改变

- 小于 v0.6.8 的版本,如果上传本地目录 `localdir` 到远端目录 `remotedir`,BaiduPCS-Py 是将 `localdir` 下的所有文件(包括下级目录)上传到远端目录 `remotedir` 下。

  比如,`localdir` 下有 2 个文件 `a`,`b` 和一个下级目录 `sub/`,如果运行 `BaiduPCS-Py upload localdir remotedir`,结果是远端目录 `remotedir` 下增加了 2 个文件 `a`,`b` 和一个下级目录 `sub/`。

- 大于或等于 v0.6.8 的版本,如果上传本地目录 `localdir` 到远端目录 `remotedir`,BaiduPCS-Py 是将 `localdir` 这个目录上传到远端目录 `remotedir` 下。

  比如,`localdir` 下有 2 个文件 `a`,`b` 和一个下级目录 `sub/`,如果运行 `BaiduPCS-Py upload localdir remotedir`,结果是远端目录 `remotedir` 下增加了 1 个下级目录和它的所有文件 `localdir/a`,`localdir/b` 和一个下级目录 `localdir/sub/`。

  如果要将 `localdir` 下的所有文件(包括下级目录)上传到远端目录 `remotedir`,用 `BaiduPCS-Py upload localdir/* remotedir`

### 选项

| Option                                                     | Description                                                                                |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| -t, --upload-type [One \| Many]                            | 上传方式,Many (默认): 同时上传多个文件,One: 一次只上传一个文件,但同时上传文件的多个分片 |
| --encrypt-password, --ep TEXT                              | 加密密码,默认使用用户设置的                                                               |
| -e, --encrypt-type [No \| Simple \| ChaCha20 \| AES256CBC] | 文件加密方法,默认为 No 不加密                                                             |
| -w, --max-workers INTEGER                                  | 同时上传文件连接数量,默认为 CPU 核数                                                      |
| --no-ignore-existing, --NI                                 | 上传已经存在的文件                                                                         |
| --no-show-progress, --NP                                   | 不显示上传进度                                                                             |
| --check-md5, --CM                                          | 分段上传后检查 md5。注意检查上传后大文件的 md5,可能会花数分中(2G 的文件需要大约 5 分钟) |

## 同步本地目录到远端

同步本地目录到远端。

如果本地文件最后修改时间或大小和远端不同则上传文件。对于本地不存在的文件但远端存在则删除远端文件。

```
BaiduPCS-Py sync [OPTIONS] LOCALDIR REMOTEDIR
```

### 选项

| Option                                                     | Description                                                                                |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| --encrypt-password, --ep TEXT                              | 加密密码,默认使用用户设置的                                                               |
| -e, --encrypt-type [No \| Simple \| ChaCha20 \| AES256CBC] | 文件加密方法,默认为 No 不加密                                                             |
| -w, --max-workers INTEGER                                  | 同时上传文件数                                                                             |
| --no-show-progress, --NP                                   | 不显示上传进度                                                                             |
| --check-md5, --CM                                          | 分段上传后检查 md5。注意检查上传后大文件的 md5,可能会花数分中(2G 的文件需要大约 5 分钟) |

## 关于秒传

百度网盘在服务器上对于一份文件只储存一份。如果一份文件已经存在于百度网盘的服务器中,用户无需重新上传源文件,只需要提供文件的特征参数就可完成上传,这种上传文件的方法百度叫做“**秒传**”。

运用“秒传”的功能,我们将一份文件变成一组特征参数。只要获得这组特征参数,我们就可以在百度网盘中“生成”这组特征参数对应的唯一文件。

BaiduPCS-Py 可以获取百度网盘中文件的特征参数,并将其转化为一串连接。使用这个连接,使用者可以在任何帐号中“生成”对应文件,达到文件分享的功能。

BaiduPCS-Py 支持 3 种秒传连接(在 BaiduPCS-Py 叫 Hash Link)协议:

1. `cs3l`

`cs3l` 是 <b>C</b>ontent_md5 + <b>S</b>lice256k_md5 + content_crc<b>3</b>2 + content\_<b>L</b>ength 的缩写。

格式: `cs3l://<content_md5>#<slice_md5>#<content_crc32>#<content_length>#<filename>`

例如: `cs3l://ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#2518837112#33251183#test.gz`

BaiduPCS-Py 默认使用 `cs3l` 协议连接。

2. `short`

`short` 是 `cs3l` 格式的缩写版。最早出自于[梦姬度盘标准提取码](https://blog.jixun.moe/du-code-gen)。

格式: `<content_md5>#<slice_md5>#<content_length>#<filename>`

例如: `ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#33251183#test.gz`

3. `bdpan`

`bdpan` 是 pandownload 使用的协议连接。

格式: `bdpan://{base64(<filename>|<content_length>|<content_md5>|<slice_md5>)}`

例如: `bdpan://Q29udGVudHMtYW1kNjQuZ3p8MzMyNTExODN8Y2VkNThkYjdhZWRjZThlMWM4ODc3NTRmY2NjY2RlMDN8MGQwMjU4OTQ2N2YzNGJkZDg2ZDA4MjIxZTkzYjI3ODM=`

BaiduPCS-Py 会将在命令 `ls`,`upload`,`sync`,`rp` 中遇到的文件特征参数存储于本地 sqlite3 数据库 `~/.baidupcs-py/rapiduploadinfo.sqlite3`。使用 `rplist`,`rpsearch` 命令可以查看这些信息。

## 显示网盘中文件的秒传连接

使用 `ls` 命令显示秒传连接默认会对文件进行秒传检查,已确认服务器是否已经将文件特征记录。

对于才上传的大文件,服务器不会立刻计算完文件的特征参数,这个过程可能持续数天的时间。在此期间秒传无法进行。

如果想略过秒传检查,用户可以用 `--no-check-md5` 选项。但这样生成的秒传连接可能是无效的。

> 注意:显示秒传连接需要请求文件 256KB 的内容。如果用户是非 svip 且请求的文件很多,那么这个过程要花很长时间。BaidPCS-Py 使用 10 个线程来请求,如果是非 svip,每个文件请求可能要花 5 秒。

```
# 默认显示 cs3l 协议连接
BaiduPCS-Py ls /path/to/file --show-hash-link

# 或者用 --show-hash-link 缩写 --HL
BaiduPCS-Py ls /path/to/file --HL
```

指定特定协议:

```
BaiduPCS-Py ls /path/to/file --show-hash-link --hash-link-protocol bdpan
```

如果连接过长,可以加选项 `--csv`,让输出变为 csv 格式。

```
BaiduPCS-Py ls /path/to/file --show-hash-link --csv
```

## 列出保存的文件秒传信息

```
BaiduPCS-Py rplist [OPTIONS] [IDS]...
```

如果不给出 ids,默认为对所有数据进行操作。

### 选项

| Option                                               | Description               |
| ---------------------------------------------------- | ------------------------- |
| -f, --filename                                       | 按文件名排序              |
| -t, --time                                           | 按时间排序                |
| -s, --size                                           | 按文件大小排序            |
| -l, --localpath                                      | 按本地名排序              |
| -r, --remotepath                                     | 按远端名排序              |
| -u, --userid                                         | 按用户 id 排序            |
| -n, --username                                       | 按用户名排序              |
| -d, --desc                                           | 按逆序排序                |
| -L, --limit INTEGER                                  | 限制列出文件个数          |
| -O, --offset INTEGER                                 | 列出偏移位                |
| --hash-link-protocol, --HLP [cs3l \| short \| bdpan] | hash link 协议, 默认 cs3l |
| --show-all, -A                                       | 显示文件所有信息          |
| --only-hash-link, --OHL                              | 只显示文件秒传连接        |

## 搜索保存的文件秒传信息

```
BaiduPCS-Py rpsearch [OPTIONS] KEYWORD
```

### 选项

| Option                                               | Description                                    |
| ---------------------------------------------------- | ---------------------------------------------- |
| --filename, --fn                                     | 在文件名中搜索                                 |
| --localpath, --lp                                    | 在本地路径中搜索                               |
| --remotepath, --rp                                   | 在远端路径中搜索                               |
| --username, --un                                     | 在用户名中搜索                                 |
| -m, --md5                                            | 在 md5 中搜索。注意保存的文件 md5 都是小写字符 |
| --hash-link-protocol, --HLP [cs3l \| short \| bdpan] | hash link 协议, 默认 cs3l                      |
| --show-all, -A                                       | 显示文件所有信息                               |
| --only-hash-link, --OHL                              | 只显示文件秒传连接                             |

## 用秒传连接或参数上传

```
BaiduPCS-Py rp [OPTIONS] [REMOTEDIR]
```

使用秒传连接:

```
# 将秒传连接指向的文件保存到远端路径 /path/to/save
BaiduPCS-Py rp /path/to/save --link 'cs3l://ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#2518837112#33251183#test.gz'

BaiduPCS-Py rp /path/to/save --link 'ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#33251183#test.gz'

BaiduPCS-Py rp /path/to/save --link 'bdpan://Q29udGVudHMtYW1kNjQuZ3p8MzMyNTExODN8Y2VkNThkYjdhZWRjZThlMWM4ODc3NTRmY2NjY2RlMDN8MGQwMjU4OTQ2N2YzNGJkZDg2ZDA4MjIxZTkzYjI3ODM='
```

从指定文件获取要使用的秒传连接,文件中一行一个秒传连接。

```
BaiduPCS-Py rp /path/to/save --input-file links.txt --max-workers 5
```

使用特征参数:

```
BaiduPCS-Py rp /path/to/save \
    --content-md5 'ced58db7aedce8e1c887754fccccde03' \
    --slice-md5 '0d02589467f34bdd86d08221e93b2783' \
    --content-length '33251183' \
    --filename 'test.gz'
```

如果同时有 `--link` 和 `--filename`,那么 `--filename` 值将代替 link 中的文件名。

### 选项

| Option                         | Description                                            |
| ------------------------------ | ------------------------------------------------------ |
| -l, --link TEXT                | cs3l:// 协议连接 或 简化连接                           |
| -i, --input-file TEXT          | 从指定文件获取要使用的秒传连接;只能是一行一个秒传连接 |
| --slice-md5, --sm TEXT         | 文件前 256KB md5                                       |
| --content-md5, --cm TEXT       | 文件 md5                                               |
| --content-crc32, --cc INTEGER  | 文件 crc32, 可以为空                                   |
| --content-length, --cl INTEGER | 文件长度                                               |
| --filename, --fn TEXT          | 文件名,如果这里设置了,将会覆盖 link 中的文件名       |
| --no-ignore-existing, --NI     | 上传且覆盖已经存在的文件                               |
| -w, --max-workers INTEGER      | 同时上传文件数                                         |

## 分享文件

**注意:使用这个命令需要 cookies 中含有 `STOKEN` 值。**

```
BaiduPCS-Py share [OPTIONS] [REMOTEPATHS]...
```

### 选项

| Option                      | Description                      |
| --------------------------- | -------------------------------- |
| -p, --password TEXT         | 设置秘密,4 个字符。默认没有秘密 |
| --period-time, --pt INTEGER | 设置分享有效期,单位为天         |

## 列出分享链接

```
BaiduPCS-Py shared
```

### 选项

| Option         | Description                                  |
| -------------- | -------------------------------------------- |
| -A, --show-all | 显示所有分享的链接,默认只显示有效的分享链接 |

## 取消分享链接

```
BaiduPCS-Py cancelshared [OPTIONS] [SHARE_IDS]...
```

## 列出其他用户分享链接中的文件

**注意:使用这个命令需要 cookies 中含有 `STOKEN` 值。**

```
BaiduPCS-Py listsharedpaths [OPTIONS] SHARED_URL
```

### 选项

| Option                | Description                        |
| --------------------- | ---------------------------------- |
| -p, --password TEXT   | 链接密码,如果没有不用设置         |
| --no-show-vcode, --NV | 不显示验证码,如果需要验证码则报错 |

## 保存其他用户分享的链接

**注意:使用这个命令需要 cookies 中含有 `STOKEN` 值。**

保存其他用户分享的链接到远端目录。

```
BaiduPCS-Py save [OPTIONS] SHARED_URL REMOTEDIR
```

### 选项

| Option                | Description                        |
| --------------------- | ---------------------------------- |
| -p, --password TEXT   | 链接密码,如果没有不用设置         |
| --no-show-vcode, --NV | 不显示验证码,如果需要验证码则报错 |

## 添加离线下载任务

```
BaiduPCS-Py add [TASK_URLS]... REMOTEDIR
```

百度网盘支持添加 magnet 和 http/s 的离线任务。

如果添加 magnet 连接需要指定要下载的文件类型:

- m: 媒体文件 (默认)
- i: 图片文件
- d: 文档文件
- c: 压缩文件
- a: 所有文件

比如,要下载所有的媒体文件和文档文件:

```
BaiduPCS-Py add 'magnet:?xt=urn:btih:8e54536d364ad24f8a9b7ab0c08d52436341f131' /to/path --file-type 'm,d'
```

### 选项

| Option               | Description                                                                               |
| -------------------- | ----------------------------------------------------------------------------------------- |
| -t, --file-type TEXT | 要下载的文件类型,m:媒体文件,i:图片文件,d:文档文件,c:压缩文件,a:所有文件。用','分割。 |

## 列出离线下载任务

```
# 列出所有离线下载任务
BaiduPCS-Py tasks

# 也可列出给定id的任务。
BaiduPCS-Py tasks [TASK_IDS]...
```

## 清除已经下载完和下载失败的任务

```
BaiduPCS-Py cleartasks
```

## 取消下载任务

```
BaiduPCS-Py canceltasks [TASK_IDS]...
```

## 删除所有离线下载任务

```
BaiduPCS-Py purgetasks
```

### 选项

| Option | Description    |
| ------ | -------------- |
| --yes  | 确认并直接运行 |

## 开启 HTTP 服务

在远端 `ROOT_DIR` 目录下开启 HTTP 服务。

`ROOT_DIR` 默认为 `/`

```
BaiduPCS-Py server [OPTIONS] [ROOT_DIR]
```

如果需要设置认证,使用下面的选项设置用户名和密钥:

```
BaiduPCS-Py server [ROOT_DIR] --username 'foo' --password 'bar'
```

也可以指定服务路径:

```
BaiduPCS-Py server [ROOT_DIR] --path '/my/pan'

# 访问 http://localhost:8000/my/pan/
```

### 选项

| Option                        | Description                  |
| ----------------------------- | ---------------------------- |
| --path TEXT                   | 服务路径,默认为 “/”         |
| -h, --host TEXT               | 监听 host                    |
| -p, --port INTEGER            | 监听 port                    |
| -w, --workers INTEGER         | 进程数                       |
| --encrypt-password, --ep TEXT | 加密密码,默认使用用户设置的 |
| --username TEXT               | HTTP Basic Auth 用户名       |
| --password TEXT               | HTTP Basic Auth 密钥         |

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/PeterDing/BaiduPCS-Py",
    "name": "baidupcs-py",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7,<3.11",
    "maintainer_email": "",
    "keywords": "",
    "author": "PeterDing",
    "author_email": "dfhayst@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/10/ac/4e8ba235dfbcb24969070e1d1d5de07972f043c3bb213ad73a355ae609f4/baidupcs_py-0.7.5.tar.gz",
    "platform": null,
    "description": "# BaiduPCS-Py\n\n[![PyPI version](https://badge.fury.io/py/baidupcs-py.svg)](https://badge.fury.io/py/baidupcs-py)\n![Build](https://github.com/PeterDing/BaiduPCS-Py/workflows/BaiduPCS-Py%20Build%20&%20Test/badge.svg)\n[![Gitter](https://badges.gitter.im/PeterDing/BaiduPCS-Py.svg)](https://gitter.im/PeterDing/BaiduPCS-Py?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\nA BaiduPCS API and An App\n\nBaiduPCS-Py \u662f\u767e\u5ea6\u7f51\u76d8 pcs \u7684\u975e\u5b98\u65b9 api \u548c\u4e00\u4e2a\u547d\u4ee4\u884c\u8fd0\u7528\u7a0b\u5e8f\u3002\n\n> \u4e5f\u662f https://github.com/PeterDing/iScript/blob/master/pan.baidu.com.py \u7684\u91cd\u6784\u7248\u3002\n\n**BaiduPCS-Py \u65e8\u5728\u4e3a\u4e2a\u4eba\u7528\u6237\u63d0\u4f9b\u64cd\u4f5c\u81ea\u5df1\u7528\u6237\u7f51\u76d8\u6587\u4ef6\u7684 api \u548c\u7b80\u6613\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u4e0d\u63d0\u4f9b\u4efb\u4f55\u4e0b\u8f7d\u52a0\u901f\u7834\u89e3\u7684\u670d\u52a1\u3002\u666e\u901a\u7528\u6237\u4e0b\u8f7d\u662f\u9650\u901f\u7684\u3002\u60f3\u8981\u4e0b\u8f7d\u4e0d\u9650\u901f\uff0c\u8bf7\u8d2d\u4e70 SVIP\u3002**\n\n---\n\n## \u963f\u91cc\u4e91\u76d8 api \u548c \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\u5728 https://github.com/PeterDing/AliPCS-Py\n\n---\n\n- [\u5b89\u88c5](#\u5b89\u88c5)\n- [\u66f4\u65b0](#\u66f4\u65b0)\n- [API](#API)\n- [\u7528\u6cd5](#\u7528\u6cd5)\n- [\u547d\u4ee4\u522b\u540d](#\u547d\u4ee4\u522b\u540d)\n- [\u5bf9\u591a\u4e2a\u5e10\u53f7\u8fdb\u884c\u76f8\u540c\u64cd\u4f5c](#\u5bf9\u591a\u4e2a\u5e10\u53f7\u8fdb\u884c\u76f8\u540c\u64cd\u4f5c)\n- [\u81ea\u52a8\u8865\u5168](#\u81ea\u52a8\u8865\u5168)\n\n#### \u7528\u6237\u76f8\u5173\u547d\u4ee4\n\n- [\u6dfb\u52a0\u7528\u6237](#\u6dfb\u52a0\u7528\u6237)\n- [\u8bbe\u7f6e\u8d26\u53f7\u540d](#\u8bbe\u7f6e\u8d26\u53f7\u540d)\n- [\u663e\u793a\u5f53\u524d\u7528\u6237\u7684\u4fe1\u606f](#\u663e\u793a\u5f53\u524d\u7528\u6237\u7684\u4fe1\u606f)\n- [\u66f4\u65b0\u7528\u6237\u4fe1\u606f](#\u66f4\u65b0\u7528\u6237\u4fe1\u606f)\n- [\u663e\u793a\u6240\u6709\u7528\u6237](#\u663e\u793a\u6240\u6709\u7528\u6237)\n- [\u5207\u6362\u5f53\u524d\u7528\u6237](#\u5207\u6362\u5f53\u524d\u7528\u6237)\n- [\u5220\u9664\u4e00\u4e2a\u7528\u6237](#\u5220\u9664\u4e00\u4e2a\u7528\u6237)\n- [\u663e\u793a\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55](#\u663e\u793a\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55)\n- [\u5207\u6362\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55](#\u5207\u6362\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55)\n\n#### \u65e0\u611f\u52a0\u5bc6\u89e3\u5bc6\u6587\u4ef6\n\n- [\u8bbe\u7f6e\u6587\u4ef6\u52a0\u5bc6\u5bc6\u7801](#\u8bbe\u7f6e\u6587\u4ef6\u52a0\u5bc6\u5bc6\u7801)\n\n#### \u6587\u4ef6\u64cd\u4f5c\u76f8\u5173\u547d\u4ee4\n\n- [\u6587\u4ef6\u64cd\u4f5c](#\u6587\u4ef6\u64cd\u4f5c)\n- [\u5217\u51fa\u7f51\u76d8\u8def\u5f84\u4e0b\u7684\u6587\u4ef6](#\u5217\u51fa\u7f51\u76d8\u8def\u5f84\u4e0b\u7684\u6587\u4ef6)\n- [\u641c\u7d22\u6587\u4ef6](#\u641c\u7d22\u6587\u4ef6)\n- [\u663e\u793a\u6587\u4ef6\u5185\u5bb9](#\u663e\u793a\u6587\u4ef6\u5185\u5bb9)\n- [\u521b\u5efa\u76ee\u5f55](#\u521b\u5efa\u76ee\u5f55)\n- [\u79fb\u52a8\u6587\u4ef6](#\u79fb\u52a8\u6587\u4ef6)\n- [\u6587\u4ef6\u91cd\u547d\u540d](#\u6587\u4ef6\u91cd\u547d\u540d)\n- [\u62f7\u8d1d\u6587\u4ef6](#\u62f7\u8d1d\u6587\u4ef6)\n- [\u5220\u9664\u6587\u4ef6](#\u5220\u9664\u6587\u4ef6)\n- [\u4e0b\u8f7d\u6587\u4ef6\u6216\u76ee\u5f55](#\u4e0b\u8f7d\u6587\u4ef6\u6216\u76ee\u5f55)\n- [\u64ad\u653e\u5a92\u4f53\u6587\u4ef6](#\u64ad\u653e\u5a92\u4f53\u6587\u4ef6)\n- [\u4e0a\u4f20\u6587\u4ef6](#\u4e0a\u4f20\u6587\u4ef6)\n- [\u540c\u6b65\u672c\u5730\u76ee\u5f55\u5230\u8fdc\u7aef](#\u540c\u6b65\u672c\u5730\u76ee\u5f55\u5230\u8fdc\u7aef)\n\n#### \u79d2\u4f20\u76f8\u5173\u547d\u4ee4\n\n- [\u5173\u4e8e\u79d2\u4f20](#\u5173\u4e8e\u79d2\u4f20)\n- [\u663e\u793a\u7f51\u76d8\u4e2d\u6587\u4ef6\u7684\u79d2\u4f20\u8fde\u63a5](#\u663e\u793a\u7f51\u76d8\u4e2d\u6587\u4ef6\u7684\u79d2\u4f20\u8fde\u63a5)\n- [\u5217\u51fa\u4fdd\u5b58\u7684\u6587\u4ef6\u79d2\u4f20\u4fe1\u606f](#\u5217\u51fa\u4fdd\u5b58\u7684\u6587\u4ef6\u79d2\u4f20\u4fe1\u606f)\n- [\u641c\u7d22\u4fdd\u5b58\u7684\u6587\u4ef6\u79d2\u4f20\u4fe1\u606f](#\u641c\u7d22\u4fdd\u5b58\u7684\u6587\u4ef6\u79d2\u4f20\u4fe1\u606f)\n- [\u7528\u79d2\u4f20\u8fde\u63a5\u6216\u53c2\u6570\u4e0a\u4f20](#\u7528\u79d2\u4f20\u8fde\u63a5\u6216\u53c2\u6570\u4e0a\u4f20)\n\n#### \u5206\u4eab\u76f8\u5173\u547d\u4ee4\n\n- [\u5206\u4eab\u6587\u4ef6](#\u5206\u4eab\u6587\u4ef6)\n- [\u5217\u51fa\u5206\u4eab\u94fe\u63a5](#\u5217\u51fa\u5206\u4eab\u94fe\u63a5)\n- [\u53d6\u6d88\u5206\u4eab\u94fe\u63a5](#\u53d6\u6d88\u5206\u4eab\u94fe\u63a5)\n- [\u5217\u51fa\u5176\u4ed6\u7528\u6237\u5206\u4eab\u94fe\u63a5\u4e2d\u7684\u6587\u4ef6](#\u5217\u51fa\u5176\u4ed6\u7528\u6237\u5206\u4eab\u94fe\u63a5\u4e2d\u7684\u6587\u4ef6)\n- [\u4fdd\u5b58\u5176\u4ed6\u7528\u6237\u5206\u4eab\u7684\u94fe\u63a5](#\u4fdd\u5b58\u5176\u4ed6\u7528\u6237\u5206\u4eab\u7684\u94fe\u63a5)\n\n#### \u79bb\u7ebf\u4e0b\u8f7d\u76f8\u5173\u547d\u4ee4\n\n- [\u6dfb\u52a0\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1](#\u6dfb\u52a0\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1)\n- [\u5217\u51fa\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1](#\u5217\u51fa\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1)\n- [\u6e05\u9664\u5df2\u7ecf\u4e0b\u8f7d\u5b8c\u548c\u4e0b\u8f7d\u5931\u8d25\u7684\u4efb\u52a1](#\u6e05\u9664\u5df2\u7ecf\u4e0b\u8f7d\u5b8c\u548c\u4e0b\u8f7d\u5931\u8d25\u7684\u4efb\u52a1)\n- [\u53d6\u6d88\u4e0b\u8f7d\u4efb\u52a1](#\u53d6\u6d88\u4e0b\u8f7d\u4efb\u52a1)\n- [\u5220\u9664\u6240\u6709\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1](#\u5220\u9664\u6240\u6709\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1)\n\n#### HTTP \u670d\u52a1\n\n- [\u5f00\u542f HTTP \u670d\u52a1](#\u5f00\u542f-HTTP-\u670d\u52a1)\n\n## \u5b89\u88c5\n\n\u9700\u8981 Python \u7248\u672c\u5927\u4e8e\u6216\u7b49\u4e8e 3.7\n\n```\npip3 install Cython\npip3 install BaiduPCS-Py\n```\n\n### Windows \u4f9d\u8d56\n\n\u5728 Windows \u4e0a\uff0cBaiduPCS-Py \u4f9d\u8d56 [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)\u3002\n\n\u5728\u5b89\u88c5 BaiduPCS-Py \u524d\uff0c\u8bf7\u5148\u5b89\u88c5 [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)\uff0c\u518d\u5728\u5176\u4e2d\u52fe\u9009 `C++ \u751f\u6210\u5de5\u5177` \u5e76\u5b89\u88c5\u3002\u5b8c\u6210\u540e\u5373\u53ef\u5b89\u88c5 BaiduPCS-Py\u3002\n\n## \u66f4\u65b0\n\n```\npip3 install BaiduPCS-Py --upgrade\n```\n\n## API\n\nBaiduPCS-Py \u7684\u767e\u5ea6\u7f51\u76d8 API \u53ea\u4f9d\u8d56 requests\uff0c\u65b9\u4fbf\u7528\u6237\u5f00\u53d1\u81ea\u5df1\u7684\u8fd0\u7528\u3002\n\n```python\nfrom baidupcs_py.baidupcs import BaiduPCSApi\n\napi = BaiduPCSApi(bduss=bduss, cookies=cookies)\n```\n\n\u6ce8\u610f\uff0c\u4e0b\u9762\u51e0\u4e2a api \u4e0d\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\uff1a\n\n- `BaiduPCSApi.access_shared`\n- `BaiduPCS.access_shared`\n- `BaiduPCSApi.shared_paths`\n- `BaiduPCS.shared_paths`\n\n## \u7528\u6cd5\n\n```\nBaiduPCS-Py --help\n```\n\n## \u547d\u4ee4\u522b\u540d\n\n\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u522b\u540d\u4ee3\u66ff\u539f\u6765\u7684\u547d\u4ee4\u540d\u3002\n\n| \u522b\u540d | \u539f\u540d            |\n| ---- | --------------- |\n| w    | who             |\n| uu   | updateuser      |\n| su   | su              |\n| ul   | userlist        |\n| ua   | useradd         |\n| an   | accountname     |\n| ep   | encryptpwd      |\n| ud   | userdel         |\n| l    | ls              |\n| f    | search          |\n| md   | mkdir           |\n| mv   | move            |\n| rn   | rename          |\n| cp   | copy            |\n| rm   | remove          |\n| d    | download        |\n| p    | play            |\n| u    | upload          |\n| sn   | sync            |\n| rl   | rplist          |\n| rs   | rpsearch        |\n| rp   | rp              |\n| S    | share           |\n| sl   | shared          |\n| cs   | cancelshared    |\n| lsp  | listsharedpaths |\n| s    | save            |\n| a    | add             |\n| t    | tasks           |\n| ct   | cleartasks      |\n| cct  | canceltasks     |\n| sv   | server          |\n\n## \u5bf9\u591a\u4e2a\u5e10\u53f7\u8fdb\u884c\u76f8\u540c\u64cd\u4f5c\n\nBaiduPCS-Py \u652f\u6301\u5bf9\u591a\u4e2a\u5e10\u53f7\u8fdb\u884c\u76f8\u540c\u64cd\u4f5c\u3002\u6bd4\u5982\uff0c\u7528\u76f8\u540c\u5173\u952e\u5b57\u641c\u7d22\u591a\u4e2a\u5e10\u53f7\uff0c\u4e0a\u4f20\u76f8\u540c\u7684\u6587\u4ef6/\u76ee\u5f55\u5230\u591a\u4e2a\u5e10\u53f7\uff0c\u7b49\u7b49\u3002\n\n\u4f7f\u7528\u8005\u53ea\u9700\u7528 `--accounts` (\u6216 `-u`) \u9009\u9879\u6765\u6307\u5b9a\u8981\u64cd\u4f5c\u7684\u5e10\u53f7\u540d\u5373\u53ef\u3002\n\n`--accounts` \u63a5\u53d7\u4e00\u4e2a\u53c2\u6570\uff0c\u8fd9\u4e2a\u53c2\u6570\u662f\u7528\u201c,\u201d\u8fde\u63a5\u7684\u8981\u8fdb\u884c\u64cd\u4f5c\u5e10\u53f7\u540d\u7684\u90e8\u5206\u5b57\u7b26\u3002\u5047\u8bbe\u6211\u4eec\u73b0\u5728\u6709 3 \u4e2a\u5e10\u53f7\uff0c\u5e10\u53f7\u540d\u5206\u522b\u662f `Tom`\uff0c`Peter`\uff0c`Joy`\u3002\n\u73b0\u5728\u6211\u8981\u540c\u65f6\u5bf9`Tom`\u548c`Joy`\u8fdb\u884c\u5173\u952e\u5b57\u641c\u7d22\u3002\u6211\u4eec\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u8fdb\u884c\uff1a\n\n```\nBaiduPCS-Py --accounts 'Tom,Joy' search 'keyword' / -R\n```\n\n\u6216\u8005\u7ed9\u51fa\u5e10\u53f7\u540d\u7684\u90e8\u5206\u7247\u6bb5\uff1a\n\n```\nBaiduPCS-Py --accounts 'om,oy' search 'keyword' / -R\n```\n\n\u66f4\u7b80\u5355\u53ef\u4ee5\u7528\uff1a\n\n```\n# Tom, Joy \u90fd\u5305\u542b\u5b57\u7b26 \"o\"\nBaiduPCS-Py --accounts 'o' search 'keyword' / -R\n```\n\n\u5982\u679c\u8981\u5bf9\u6240\u6709\u5e10\u53f7\u8fdb\u884c\u64cd\u4f5c\u7528 `--accounts ''`\u3002\n\n\u5982\u679c\u4e0d\u4f7f\u7528 `--accounts` \u9009\u9879\uff0c\u9ed8\u8ba4\u53ea\u5bf9\u5f53\u524d\u5e10\u53f7\u8fdb\u884c\u64cd\u4f5c\u3002\n\n\u4ee5\u4e0b\u547d\u4ee4\u652f\u6301\u5bf9\u591a\u4e2a\u5e10\u53f7\u8fdb\u884c\u64cd\u4f5c\uff1a\n\n- pwd\n- ls\n- search\n- cat\n- mkdir\n- move\n- rename\n- copy\n- remove\n- download\n- play\n- upload\n- sync\n- rp\n- share\n- shared\n- cancelshared\n- save\n- add\n- tasks\n- cleartasks\n- canceltasks\n- purgetasks\n- server\n\n**\u6ce8\u610f**: `--accounts` \u4e00\u5b9a\u8981\u8ddf\u5728 `BaiduPCS-Py` \u540e\uff0c\u547d\u4ee4\u524d\u3002\n\n## \u81ea\u52a8\u8865\u5168\n\n\u5728 Bash, Zsh \u548c Fish \u4e0a `BaiduPCS-Py` \u547d\u4ee4\u652f\u6301\u81ea\u52a8\u8865\u5168\u3002\n\n- \u5728 Bash \u4e0a\uff0c\u52a0\u5165\u4e0b\u9762\u4e00\u884c\u5230 `~/.bashrc`\n\n  `eval \"$(_BAIDUPCS_PY_COMPLETE=bash_source BaiduPCS-Py)\"`\n\n- \u5728 Zsh \u4e0a\uff0c\u52a0\u5165\u4e0b\u9762\u4e00\u884c\u5230 `~/.zshrc`\n\n  `eval \"$(_BAIDUPCS_PY_COMPLETE=zsh_source BaiduPCS-Py)\"`\n\n- \u5728 Fish \u4e0a\uff0c\u52a0\u5165\u4e0b\u9762\u4e00\u884c\u5230 `~/.config/fish/completions/foo-bar.fish`\n\n  `eval (env _BAIDUPCS_PY_COMPLETE=fish_source BaiduPCS-Py)`\n\n## \u6dfb\u52a0\u7528\u6237\n\nBaiduPCS-Py \u76ee\u524d\u4e0d\u652f\u6301\u7528\u5e10\u53f7\u767b\u5f55\u3002\u9700\u8981\u4f7f\u7528\u8005\u5728 pan.baidu.com \u767b\u5f55\u540e\u83b7\u53d6 cookies \u548c\u5176\u4e2d\u7684 bduss \u503c\uff0c\u5e76\u7528\u547d\u4ee4 `useradd` \u4e3a BaiduPCS-Py \u6dfb\u52a0\u4e00\u4e2a\u7528\u6237\u3002\n\n\u4f7f\u7528\u8005\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u65b9\u5f0f\u83b7\u53d6\u7528\u6237\u7684 cookies \u548c bduss \u503c\u3002\n\n1. \u767b\u5f55 pan.baidu.com\n2. \u6253\u5f00\u6d4f\u89c8\u5668\u7684\u5f00\u53d1\u8005\u5de5\u5177(\u5982 Chrome DevTools)\u3002\n3. \u7136\u540e\u9009\u62e9\u5f00\u53d1\u8005\u5de5\u5177\u7684 Network \u9762\u677f\u3002\n4. \u5728\u767b\u5f55\u540e\u7684\u9875\u9762\u4e2d\u4efb\u610f\u70b9\u5f00\u4e00\u4e2a\u6587\u4ef6\u5939\u3002\n5. \u5728 Network \u9762\u677f\u4e2d\u627e\u5230 `list?....` \u4e00\u884c\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u7684 Headers \u90e8\u5206\u627e\u5230 `Cookie:` \u6240\u5728\u884c\uff0c\u590d\u5236 `Cookie:` \u540e\u7684\u6240\u6709\u5185\u5bb9\u4f5c\u4e3a cookies \u503c\uff0c\u5176\u4e2d\u7684 `BDUSS=...;` \u7684 `...` (\u6ca1\u6709\u6700\u540e\u7684\u5b57\u7b26;)\u4f5c\u4e3a bduss \u503c\u3002\n\n![cookies](./imgs/cookies.png)\n\n\u73b0\u5728\u627e\u5230\u4e86 cookies \u548c bduss \u503c\uff0c\u6211\u4eec\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u6dfb\u52a0\u4e00\u4e2a\u7528\u6237\u3002\n\n\u4ea4\u4e92\u6dfb\u52a0\uff1a\n\n```\nBaiduPCS-Py useradd\n```\n\n\u6216\u8005\u76f4\u63a5\u6dfb\u52a0\uff1a\n\n```\nBaiduPCS-Py useradd --cookies \"cookies \u503c\" --bduss \"bduss \u503c\"\n```\n\n\u4f60\u4e5f\u53ef\u4ee5\u53ea\u6dfb\u52a0 `bduss`\uff0c\u7701\u53bb `cookies` (\u6216 `cookies` \u4e2d\u6ca1\u6709 `STOKEN` \u503c)\uff0c\u4f46\u8fd9\u4f1a\u8ba9\u4f60\u65e0\u53d1\u4f7f\u7528 `share` \u548c `save` \u547d\u4ee4\u6765\u8f6c\u5b58\u5176\u4ed6\u7528\u6cd5\u7684\u5206\u4eab\u6587\u4ef6\u3002\n\nBaiduPCS-Py \u652f\u6301\u591a\u7528\u6237\uff0c\u4f60\u53ea\u9700\u4e00\u76f4\u7528 `useradd` \u6765\u6dfb\u52a0\u7528\u6237\u5373\u53ef\u3002\n\n## \u8bbe\u7f6e\u8d26\u53f7\u540d\n\n```\nBaiduPCS-Py accountname --account-name \"my account\"\n```\n\n| Option                    | Description                        |\n| ------------------------- | ---------------------------------- |\n| --account-name, --an TEXT | \u8bbe\u7f6e\u8d26\u53f7\u540d\uff0c\u7528\u4e8e\u6307\u5b9a\u8fd0\u884c\u5e10\u53f7\u548c\u663e\u793a |\n\n## \u663e\u793a\u5f53\u524d\u7528\u6237\u7684\u4fe1\u606f\n\n```\nBaiduPCS-Py who\n```\n\n\u6216\u8005\uff1a\n\n```\nBaiduPCS-Py who user_id\n```\n\n\u6307\u660e\u663e\u793a\u7528\u6237 id \u4e3a `user_id` \u7684\u7528\u6237\u4fe1\u606f\u3002\n\n### \u9009\u9879\n\n| Option                      | Description  |\n| --------------------------- | ------------ |\n| -K, --show-encrypt-password | \u663e\u793a\u52a0\u5bc6\u5bc6\u7801 |\n\n## \u66f4\u65b0\u7528\u6237\u4fe1\u606f\n\n\u9ed8\u8ba4\u66f4\u65b0\u5f53\u524d\u7528\u6237\u4fe1\u606f\u3002\n\n```\nBaiduPCS-Py updateuser\n```\n\n\u4e5f\u53ef\u6307\u5b9a\u591a\u4e2a `user_id`\n\n```\nBaiduPCS-Py updateuser user_id\n```\n\n| Option | Description      |\n| ------ | ---------------- |\n| --all  | \u66f4\u65b0\u6240\u6709\u7528\u6237\u4fe1\u606f |\n\n## \u663e\u793a\u6240\u6709\u7528\u6237\n\n```\nBaiduPCS-Py userlist\n```\n\n## \u5207\u6362\u5f53\u524d\u7528\u6237\n\n```\nBaiduPCS-Py su\n```\n\n\u6216\u8005\u6307\u5b9a\u7528\u6237\u5217\u8868\u4e2d\u7528\u6237\u6240\u5728\u7684\u4f4d\u7f6e\uff1a\n\n```\nBaiduPCS-Py su 2\n```\n\n## \u5220\u9664\u4e00\u4e2a\u7528\u6237\n\n```\nBaiduPCS-Py userdel\n```\n\n## \u8bbe\u7f6e\u6587\u4ef6\u52a0\u5bc6\u5bc6\u7801\n\n> **\u6ce8\u610f**\uff1a `v0.5.17` \u52a0\u5bc6\u7684\u6587\u4ef6\u683c\u5f0f(Version 2)\u4e0d\u517c\u5bb9\u4ee5\u540e\u7684\u7248\u672c\u3002\n\nBaiduPCS-Py \u652f\u6301\u201c\u65e0\u611f\u7684\u201d\u6587\u4ef6\u52a0\u5bc6\u3002\n\nBaiduPCS-Py \u53ef\u4ee5\u52a0\u5bc6\u4e0a\u4f20\u6587\u4ef6\uff0c\u5728\u4e0b\u8f7d\u7684\u65f6\u5019\u81ea\u52a8\u89e3\u5bc6\uff0c\u8ba9\u4f7f\u7528\u8005\u611f\u89c9\u4e0d\u5230\u52a0\u5bc6\u89e3\u5bc6\u7684\u8fc7\u7a0b\u3002\n\n\u5982\u679c\u4f7f\u7528\u8005\u9700\u8981\u5c06\u4fdd\u5bc6\u6587\u4ef6\u4e0a\u4f20\u81f3\u767e\u5ea6\u7f51\u76d8\u4fdd\u5b58\uff0c\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u65b9\u6cd5\u3002\u5373\u4f7f\u5e10\u53f7\u88ab\u76d7\uff0c\u653b\u51fb\u8005\u4e5f\u65e0\u6cd5\u8fd8\u539f\u6587\u4ef6\u5185\u5bb9\u3002\n\nBaiduPCS-Py \u652f\u6301\u4ee5\u4e0b\u52a0\u5bc6\u65b9\u6cd5\uff1a\n\n- **Simple** \u4e00\u79cd\u7b80\u5355\u7684\u52a0\u5bc6\u7b97\u6cd5\u3002\u6839\u636e\u5bc6\u94a5\u751f\u6210\u4e00\u4e2a\u5b57\u8282\u5bf9\u7167\u8868\u6765\u52a0\u5bc6\u89e3\u5bc6\u6587\u4ef6\u3002\n  \u901f\u5ea6\u5feb\uff0c\u4f46**\u4e0d\u5b89\u5168**\uff0c\u4e0d\u5efa\u8bae\u52a0\u5bc6\u91cd\u8981\u6587\u4ef6\u3002\n  \u56e0\u4e3a\u8fd9\u79cd\u7b97\u6cd5\u52a0\u89e3\u5bc6\u4e0d\u9700\u8981\u77e5\u9053\u4e0a\u4e0b\u6587\u4fe1\u606f\uff0c\u6240\u4ee5\uff0c\u4e0b\u8f7d\u65f6\u652f\u6301\u5206\u6bb5\u4e0b\u8f7d\uff0c\u5982\u679c\u662f\u5a92\u4f53\u6587\u4ef6\u5219\u652f\u6301\u62d6\u52a8\u64ad\u653e\u3002\n  \u63a8\u8350\u7528\u4e8e\u52a0\u5bc6\u4e0d\u91cd\u8981\u7684\u5a92\u4f53\u6587\u4ef6\u3002\n- **ChaCha20** \u5de5\u4e1a\u7ea7\u52a0\u5bc6\u7b97\u6cd5\uff0c\u901f\u5ea6\u5feb\uff0c\u63a8\u8350\u7528\u4e8e\u52a0\u5bc6\u91cd\u8981\u6587\u4ef6\u3002\u4e0d\u652f\u6301\u5206\u6bb5\u4e0b\u8f7d\u3002\n- **AES256CBC** \u5de5\u4e1a\u7ea7\u52a0\u5bc6\u7b97\u6cd5\uff0c\u63a8\u8350\u7528\u4e8e\u52a0\u5bc6\u91cd\u8981\u6587\u4ef6\u3002\u4e0d\u652f\u6301\u5206\u6bb5\u4e0b\u8f7d\u3002\n\n**\u6ce8\u610f**\uff1a\u7528\u547d\u4ee4 `encryptpwd` \u8bbe\u7f6e\u7684\u5bc6\u7801**\u53ea\u662f\u4e3a\u5f53\u524d\u7528\u6237**\u7684\u3002\n\n\u4e3a\u5f53\u524d\u7528\u6237\u8bbe\u7f6e\u52a0\u5bc6\u5bc6\u7801:\n\n\u4ea4\u4e92\u6dfb\u52a0\uff1a\n\n```\nBaiduPCS-Py encryptpwd\n```\n\n\u6216\u8005\u76f4\u63a5\u6dfb\u52a0\uff1a\n\n```\nBaiduPCS-Py encryptpwd --encrypt-password 'my-encrypt-password'\n```\n\n\u4e0a\u4f20\u5e76\u52a0\u5bc6\u6587\u4ef6\uff1a\n\n\u4e0a\u4f20\u548c\u540c\u6b65\u6587\u4ef6\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u52a0\u5bc6\u7b97\u6cd5\u5c31\u53ef\u3002\u5982\u679c\u4e0d\u6307\u5b9a\u5c31\u4e0d\u52a0\u5bc6\u3002\n\n```\n# \u9ed8\u8ba4\u4f7f\u7528\u4e0a\u9762\u8bbe\u7f6e\u7684 `encrypt-password`\nBaiduPCS-Py upload some-file.mp4 some-dir/ /to/here --encrypt-type AES256CBC\n```\n\n\u4e0b\u8f7d\u5e76\u7528\u4e0a\u9762\u8bbe\u7f6e\u7684 `encrypt-password` \u81ea\u52a8\u89e3\u5bc6\u6587\u4ef6\uff1a\n\n```\nBaiduPCS-Py download /to/here/some-file.mp4 /to/here/some-dir/\n```\n\n\u4e5f\u53ef\u4ee5\u4f7f\u7528\u4e34\u65f6\u7684 `encrypt-password`\uff1a\n\n```\nBaiduPCS-Py upload some-file.mp4 some-dir/ /to/here --encrypt-type Simple --encrypt-password 'onlyyou'\n```\n\n\u4f46\u5728\u4f7f\u7528\u4e34\u65f6\u7684 `encrypt-password` \u540e\uff0c`cat`\u3001\u4e0b\u8f7d\u548c\u64ad\u653e\u8fd9\u4e9b\u6587\u4ef6\u65f6\u9700\u8981\u6307\u5b9a `encrypt-password`\uff0c\u4f46\u4e0d\u9700\u8981\u6307\u5b9a\u52a0\u5bc6\u7b97\u6cd5\uff0c\u7a0b\u5e8f\u4f1a\u81ea\u52a8\u68c0\u67e5\u52a0\u5bc6\u7b97\u6cd5\uff1a\n\n```\n# \u4e0b\u8f7d\nBaiduPCS-Py download /to/here/some-file.mp4 /to/here/some-dir/  --encrypt-password 'onlyyou'\n\n# \u5f00\u542f\u672c\u5730\u670d\u52a1\u5e76\u64ad\u653e\nBaiduPCS-Py play /to/here/some-file.mp4 --encrypt-password 'onlyyou' --use-local-server\n```\n\n\u663e\u793a\u5f53\u524d\u7528\u6237\u7684\u5bc6\u94a5\uff1a\n\n```\nBaiduPCS-Py who --show-encrypt-password\n```\n\nBaiduPCS-Py \u4e0b\u8f7d\u65f6\u9ed8\u8ba4\u4f1a\u89e3\u5bc6\u6587\u4ef6\uff0c\u5982\u679c\u60f3\u8981\u4e0b\u8f7d\u4f46\u4e0d\u89e3\u5bc6\u6587\u4ef6\uff0c\u9700\u8981\u52a0 `--no-decrypt`\n\n```\nBaiduPCS-Py download some-file --no-decrypt\n```\n\n## \u6587\u4ef6\u64cd\u4f5c\n\nBaiduPCS-Py \u64cd\u4f5c\u7f51\u76d8\u4e2d\u7684\u6587\u4ef6\u53ef\u4ee5\u4f7f\u7528\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84\u6216\u76f8\u5bf9\u8def\u5f84\uff08\u76f8\u5bf9\u4e0e\u5f53\u524d\u76ee\u5f55 pwd\uff09\u3002\n\n\u6bcf\u4e00\u4e2a\u7528\u6237\u90fd\u6709\u81ea\u5df1\u7684\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\uff08pwd\uff09\uff0c\u9ed8\u8ba4\u4e3a `/` \u6839\u76ee\u5f55\u3002\n\n\u4f7f\u7528\u8005\u53ef\u4ee5\u7528 `cd` \u547d\u4ee4\u6765\u5207\u6362\u5f53\u524d\u7684\u5de5\u4f5c\u76ee\u5f55\uff08pwd\uff09\u3002\n\n\u4e0b\u9762\u6240\u6709\u6d89\u53ca\u7f51\u76d8\u8def\u5f84\u7684\u547d\u4ee4\uff0c\u5176\u4e2d\u5982\u679c\u7f51\u76d8\u8def\u5f84\u7528\u7684\u662f\u76f8\u5bf9\u8def\u5f84\uff0c\u90a3\u4e48\u662f\u76f8\u5bf9\u4e8e\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\uff08pwd\uff09\u7684\u3002\n\u5982\u679c\u662f\u7f51\u76d8\u8def\u5f84\u7528\u7684\u662f\u7edd\u5bf9\u8def\u5f84\uff0c\u90a3\u4e48\u5c31\u662f\u8fd9\u4e2a\u7edd\u5bf9\u8def\u5f84\u3002\n\n## \u663e\u793a\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\n\n```\nBaiduPCS-Py pwd\n```\n\n## \u5207\u6362\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\n\n\u5207\u6362\u5230\u7edd\u5bf9\u8def\u5f84\uff1a\n\n```\nBaiduPCS-Py cd /to/some/path\n```\n\n\u5207\u6362\u5230\u76f8\u5bf9\u8def\u5f84\uff1a\n\n```\n# \u5207\u6362\u5230 (pwd)/../path\nBaiduPCS-Py cd ../path\n```\n\n## \u5217\u51fa\u7f51\u76d8\u8def\u5f84\u4e0b\u7684\u6587\u4ef6\n\n```\nBaiduPCS-Py ls [OPTIONS] [REMOTEPATHS]...\n\nBaiduPCS-Py ls /absolute/path\n\n# or\nBaiduPCS-Py ls relative/path\n```\n\n### \u9009\u9879\n\n| Option                                               | Description                                           |\n| ---------------------------------------------------- | ----------------------------------------------------- |\n| -r, --desc                                           | \u9006\u5e8f\u6392\u5217\u6587\u4ef6                                          |\n| -n, --name                                           | \u4f9d\u540d\u5b57\u6392\u5e8f                                            |\n| -t, --time                                           | \u4f9d\u65f6\u95f4\u6392\u5e8f                                            |\n| -s, --size                                           | \u4f9d\u6587\u4ef6\u5927\u5c0f\u6392\u5e8f                                        |\n| -R, --recursive                                      | \u9012\u5f52\u5217\u51fa\u6587\u4ef6                                          |\n| -I, --include TEXT                                   | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6                              |\n| --include-regex, --IR TEXT                           | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6                          |\n| -E, --exclude TEXT                                   | \u7b5b\u9009 **\u4e0d** \u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6                      |\n| --exclude-regex, --ER TEXT                           | \u7b5b\u9009 **\u4e0d** \u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6                  |\n| -f, --is-file                                        | \u7b5b\u9009 **\u975e** \u76ee\u5f55\u6587\u4ef6                                  |\n| -d, --is-dir                                         | \u7b5b\u9009\u76ee\u5f55\u6587\u4ef6                                          |\n| --no-highlight, --NH                                 | \u53d6\u6d88\u5339\u914d\u9ad8\u4eae                                          |\n| -S, --show-size                                      | \u663e\u793a\u6587\u4ef6\u5927\u5c0f                                          |\n| -D, --show-date                                      | \u663e\u793a\u6587\u4ef6\u521b\u5efa\u65f6\u95f4                                      |\n| -M, --show-md5                                       | \u663e\u793a\u6587\u4ef6 md5                                          |\n| -A, --show-absolute-path                             | \u663e\u793a\u6587\u4ef6\u7edd\u5bf9\u8def\u5f84                                      |\n| --show-dl-link, --DL                                 | \u663e\u793a\u6587\u4ef6\u4e0b\u8f7d\u8fde\u63a5                                      |\n| --show-hash-link, --HL                               | \u663e\u793a\u6587\u4ef6\u79d2\u4f20\u8fde\u63a5                                      |\n| --hash-link-protocol, --HLP [cs3l \\| short \\| bdpan] | \u663e\u793a\u6587\u4ef6 hash \u94fe\u63a5\uff0c\u5e76\u6307\u5b9a\u534f\u8bae                        |\n| --no-check-md5, --NC                                 | \u663e\u793a\u6587\u4ef6 cs3l:// \u8fde\u63a5\u65f6\u4e0d\u68c0\u67e5 md5                     |\n| --csv                                                | \u7528 csv \u683c\u5f0f\u663e\u793a\uff0c\u5355\u884c\u663e\u793a\uff0c\u63a8\u8350\u548c --DL \u6216 --HL \u4e00\u8d77\u7528 |\n| --only-dl-link, --ODL                                | \u53ea\u663e\u793a\u6587\u4ef6\u4e0b\u8f7d\u8fde\u63a5                                    |\n| --only-hash-link, --OHL                              | \u53ea\u663e\u793a\u6587\u4ef6\u79d2\u4f20\u8fde\u63a5                                    |\n\n## \u7edf\u8ba1\u8def\u5f84\u4e0b\u6587\u4ef6\u6240\u5360\u7528\u7a7a\u95f4\n\n\u7edf\u8ba1\u7f51\u76d8\u8def\u5f84\u4e0b\u7684\u6587\u4ef6\u6240\u5360\u7528\u7684\u7a7a\u95f4\n\n```\nBaiduPCS-Py du [OPTIONS] [REMOTEPATHS]...\n\n# \u7edf\u8ba1\u7279\u5b9a\u6587\u4ef6\nBaiduPCS-Py du /some/path --include .mp4\n```\n\n| Option                     | Description                      |\n| -------------------------- | -------------------------------- |\n| -R, --recursive            | \u9012\u5f52\u8ba1\u7b97\u6240\u6709\u6587\u4ef6                 |\n| -I, --include TEXT         | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6         |\n| --include-regex, --IR TEXT | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6     |\n| -E, --exclude TEXT         | \u7b5b\u9009 \u4e0d \u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6     |\n| --exclude-regex, --ER TEXT | \u7b5b\u9009 \u4e0d \u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6 |\n\n## \u641c\u7d22\u6587\u4ef6\n\n\u641c\u7d22\u5305\u542b `keyword` \u7684\u6587\u4ef6\n\n```\nBaiduPCS-Py search [OPTIONS] KEYWORD [REMOTEDIR]\n\n# \u5728\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e2d\u641c\u7d22\nBaiduPCS-Py search keyword\n\n# or\nBaiduPCS-Py search keyword /absolute/path\n\n# or\nBaiduPCS-Py search keyword relative/path\n```\n\n### \u9009\u9879\n\n| Option                     | Description                          |\n| -------------------------- | ------------------------------------ |\n| -R, --recursive            | \u9012\u5f52\u641c\u7d22\u6587\u4ef6                         |\n| -I, --include TEXT         | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6             |\n| --include-regex, --IR TEXT | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6         |\n| -E, --exclude TEXT         | \u7b5b\u9009 **\u4e0d** \u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6     |\n| --exclude-regex, --ER TEXT | \u7b5b\u9009 **\u4e0d** \u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6 |\n| -f, --is-file              | \u7b5b\u9009 **\u975e** \u76ee\u5f55\u6587\u4ef6                 |\n| -d, --is-dir               | \u7b5b\u9009\u76ee\u5f55\u6587\u4ef6                         |\n| --no-highlight, --NH       | \u53d6\u6d88\u5339\u914d\u9ad8\u4eae                         |\n| -S, --show-size            | \u663e\u793a\u6587\u4ef6\u5927\u5c0f                         |\n| -D, --show-date            | \u663e\u793a\u6587\u4ef6\u521b\u5efa\u65f6\u95f4                     |\n| -M, --show-md5             | \u663e\u793a\u6587\u4ef6 md5                         |\n| --csv                      | \u7528 csv \u683c\u5f0f\u663e\u793a                      |\n\n## \u663e\u793a\u6587\u4ef6\u5185\u5bb9\n\n```\nBaiduPCS-Py cat [OPTIONS] REMOTEPATH\n```\n\n### \u9009\u9879\n\n| Option                        | Description                  |\n| ----------------------------- | ---------------------------- |\n| -e, --encoding TEXT           | \u6587\u4ef6\u7f16\u7801\uff0c\u9ed8\u8ba4\u81ea\u52a8\u89e3\u7801       |\n| --no-decrypt, --ND            | \u4e0d\u89e3\u5bc6                       |\n| --encrypt-password, --ep TEXT | \u52a0\u5bc6\u5bc6\u7801\uff0c\u9ed8\u8ba4\u4f7f\u7528\u7528\u6237\u8bbe\u7f6e\u7684 |\n\n## \u521b\u5efa\u76ee\u5f55\n\n```\nBaiduPCS-Py mkdir [OPTIONS] [REMOTEDIRS]...\n```\n\n### \u9009\u9879\n\n| Option     | Description |\n| ---------- | ----------- |\n| -S, --show | \u663e\u793a\u76ee\u5f55    |\n\n## \u79fb\u52a8\u6587\u4ef6\n\n\u79fb\u52a8\u4e00\u4e9b\u6587\u4ef6\u5230\u4e00\u4e2a\u76ee\u5f55\u4e2d\u3002\n\n```\nBaiduPCS-Py move [OPTIONS] [REMOTEPATHS]... REMOTEDIR\n```\n\n### \u9009\u9879\n\n| Option     | Description |\n| ---------- | ----------- |\n| -S, --show | \u663e\u793a\u7ed3\u679c    |\n\n## \u6587\u4ef6\u91cd\u547d\u540d\n\n```\nBaiduPCS-Py rename [OPTIONS] SOURCE DEST\n```\n\n### \u9009\u9879\n\n| Option     | Description |\n| ---------- | ----------- |\n| -S, --show | \u663e\u793a\u7ed3\u679c    |\n\n## \u62f7\u8d1d\u6587\u4ef6\n\n\u62f7\u8d1d\u4e00\u4e9b\u6587\u4ef6\u5230\u4e00\u4e2a\u76ee\u5f55\u4e2d\u3002\n\n```\nBaiduPCS-Py move [OPTIONS] [REMOTEPATHS]... REMOTEDIR\n```\n\n### \u9009\u9879\n\n| Option     | Description |\n| ---------- | ----------- |\n| -S, --show | \u663e\u793a\u7ed3\u679c    |\n\n## \u5220\u9664\u6587\u4ef6\n\n```\nBaiduPCS-Py remove [OPTIONS] [REMOTEPATHS]...\n```\n\n## \u4e0b\u8f7d\u6587\u4ef6\u6216\u76ee\u5f55\n\n```\nBaiduPCS-Py download [OPTIONS] [REMOTEPATHS]...\n```\n\n> **\u6ce8\u610f**: \u8bf7\u7528 `me`, `aget_py` \u6216 `aget_rs` \u4e0b\u8f7d\u5927\u4e8e 5MB \u7684\u6587\u4ef6\u3002\u7528 aria2 \u4e0b\u8f7d\u5927\u4e8e 5MB \u7684\u6587\u4ef6\u4f1a\u5931\u8d25\u3002 ([#27](https://github.com/PeterDing/BaiduPCS-Py/issues/27))\n\n**`--chunk-size` \u4ece v0.6.27 \u5f00\u59cb\u4e0d\u80fd\u5927\u4e8e `5M`\uff0c\u8fd9\u662f\u767e\u5ea6\u670d\u52a1\u7684\u9650\u5236\u3002\u8d85\u8fc7 `5M` \u4f1a\u62a5 403 \u9519\u8bef\u3002**\n\n### \u9009\u9879\n\n| Option                                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| -o, --outdir TEXT                                      | \u6307\u5b9a\u4e0b\u8f7d\u672c\u5730\u76ee\u5f55\uff0c\u9ed8\u8ba4\u4e3a\u5f53\u524d\u76ee\u5f55                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| -R, --recursive                                        | \u9012\u5f52\u4e0b\u8f7d                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| -f, --from-index INTEGER                               | \u4ece\u6240\u6709\u76ee\u5f55\u4e2d\u7684\u7b2c\u51e0\u4e2a\u6587\u4ef6\u5f00\u59cb\u4e0b\u8f7d\uff0c\u9ed8\u8ba4\u4e3a 0\uff08\u7b2c\u4e00\u4e2a\uff09                                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n| -I, --include TEXT                                     | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| --include-regex, --IR TEXT                             | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\n| -E, --exclude TEXT                                     | \u7b5b\u9009 \u4e0d \u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\n| --exclude-regex, --ER TEXT                             | \u7b5b\u9009 \u4e0d \u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| -s, --concurrency INTEGER                              | \u4e0b\u8f7d\u540c\u6b65\u94fe\u63a5\u6570\uff0c\u9ed8\u8ba4\u4e3a 5\u3002\u6570\u5b50\u8d8a\u5927\u4e0b\u8f7d\u901f\u5ea6\u8d8a\u5feb\uff0c\u4f46\u662f\u5bb9\u6613\u88ab\u767e\u5ea6\u5c01\u9501                                                                                                                                                                                                                                                                                                                                                                                                                                   |\n| -k, --chunk-size TEXT                                  | \u540c\u6b65\u94fe\u63a5\u5206\u5757\u5927\u5c0f\uff0c\u6700\u5927\u4e0d\u80fd\u8d85\u8fc7 5M                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| -q, --quiet                                            | \u53d6\u6d88\u7b2c\u4e09\u65b9\u4e0b\u8f7d\u5e94\u7528\u8f93\u51fa                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n| --out-cmd, --OC                                        | \u8f93\u51fa\u7b2c\u4e09\u65b9\u4e0b\u8f7d\u5e94\u7528\u547d\u4ee4                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n| -d, --downloader [ me \\| aget_py \\| aget_rs \\| aria2 ] | \u6307\u5b9a\u4e0b\u8f7d\u5e94\u7528<br> <br> \u9ed8\u8ba4\u4e3a me (BaiduPCS-Py \u81ea\u5df1\u7684\u4e0b\u8f7d\u5668\uff0c\u652f\u6301\u65ad\u7eed\u4e0b\u8f7d)<br> me \u4f7f\u7528\u591a\u6587\u4ef6\u5e76\u53d1\u4e0b\u8f7d\u3002<br> <br> \u9664 me \u5916\uff0c\u5176\u4ed6\u4e0b\u8f7d\u5668\uff0c\u4e0d\u4f7f\u7528\u591a\u6587\u4ef6\u5e76\u53d1\u4e0b\u8f7d\uff0c\u4f7f\u7528\u4e00\u4e2a\u6587\u4ef6\u591a\u94fe\u63a5\u4e0b\u8f7d\u3002<br> \u5982\u679c\u9700\u8981\u4e0b\u8f7d\u591a\u4e2a\u5c0f\u6587\u4ef6\u63a8\u8350\u4f7f\u7528 me\uff0c\u5982\u679c\u9700\u8981\u4e0b\u8f7d\u5c11\u91cf\u5927\u6587\u4ef6\u63a8\u8350\u4f7f\u7528\u5176\u4ed6\u4e0b\u8f7d\u5668\u3002\u5bf9\u4e8e SVIP \u7528\u6237\uff0c\u7528\u54ea\u4e2a\u4e0b\u8f7d\u5668\u90fd\u5f88\u5feb\u3002<br> <br> aget_py (https://github.com/PeterDing/aget) \u9ed8\u8ba4\u5b89\u88c5<br> aget_rs (\u4e0b\u8f7d https://github.com/PeterDing/aget-rs/releases)<br> aria2 (\u4e0b\u8f7d https://github.com/aria2/aria2/releases)<br> |\n| --encrypt-password, --ep TEXT                          | \u52a0\u5bc6\u5bc6\u7801\uff0c\u9ed8\u8ba4\u4f7f\u7528\u7528\u6237\u8bbe\u7f6e\u7684                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\n\n## \u64ad\u653e\u5a92\u4f53\u6587\u4ef6\n\n```\nBaiduPCS-Py play [OPTIONS] [REMOTEPATHS]...\n```\n\n**\u6ce8\u610f**: \u5927\u4e8e **5MB** \u7684\u5a92\u4f53\u6587\u4ef6\u65e0\u6cd5\u76f4\u63a5\u64ad\u653e\uff0c\u9700\u8981\u52a0 `-s` \u4f7f\u7528\u672c\u5730\u670d\u52a1\u5668\u64ad\u653e\u3002\n\n`play` \u547d\u4ee4\u9ed8\u8ba4\u64ad\u653e\u5e26\u6709\u5a92\u4f53\u540e\u7f00\u7684\u6587\u4ef6\uff0c\u5982 `abc.mp4`, `abc.mp3`\u3002\u5982\u679c\u9700\u8981\u64ad\u653e\u7684\u5a92\u4f53\u6587\u4ef6\u6ca1\u6709\u7528\u5e38\u89c4\u7684\u5a92\u4f53\u6587\u4ef6\u540e\u7f00\uff0c\u5219\u9700\u8981\u52a0\u9009\u9879 `--ignore-ext`\u3002\n\n### \u9009\u9879\n\n| Option                        | Description                                                                 |\n| ----------------------------- | --------------------------------------------------------------------------- |\n| -R, --recursive               | \u9012\u5f52\u64ad\u653e                                                                    |\n| -f, --from-index INTEGER      | \u4ece\u6240\u6709\u76ee\u5f55\u4e2d\u7684\u7b2c\u51e0\u4e2a\u6587\u4ef6\u5f00\u59cb\u64ad\u653e\uff0c\u9ed8\u8ba4\u4e3a 0\uff08\u7b2c\u4e00\u4e2a\uff09                        |\n| -I, --include TEXT            | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6                                                    |\n| --include-regex, --IR TEXT    | \u7b5b\u9009\u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6                                                |\n| -E, --exclude TEXT            | \u7b5b\u9009 \u4e0d \u5305\u542b\u8fd9\u4e2a\u5b57\u7b26\u4e32\u7684\u6587\u4ef6                                                |\n| --exclude-regex, --ER TEXT    | \u7b5b\u9009 \u4e0d \u5305\u542b\u8fd9\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u6587\u4ef6                                            |\n| --player-params, --PP TEXT    | \u7b2c\u4e09\u65b9\u64ad\u653e\u5668\u53c2\u6570                                                            |\n| -m, --m3u8                    | \u83b7\u53d6 m3u8 \u6587\u4ef6\u5e76\u64ad\u653e                                                        |\n| -q, --quiet                   | \u53d6\u6d88\u7b2c\u4e09\u65b9\u64ad\u653e\u5668\u8f93\u51fa                                                        |\n| --shuffle, --sf               | \u968f\u673a\u64ad\u653e                                                                    |\n| --ignore-ext, --IE            | \u4e0d\u7528\u6587\u4ef6\u540d\u540e\u7f00\u540d\u6765\u5224\u65ad\u5a92\u4f53\u6587\u4ef6                                              |\n| --out-cmd, --OC               | \u8f93\u51fa\u7b2c\u4e09\u65b9\u64ad\u653e\u5668\u547d\u4ee4                                                        |\n| -p, --player [mpv]            | \u6307\u5b9a\u7b2c\u4e09\u65b9\u64ad\u653e\u5668<br><br>\u9ed8\u8ba4\u4e3a mpv (https://mpv.io)                         |\n| -s, --use-local-server        | \u4f7f\u7528\u672c\u5730\u670d\u52a1\u5668\u64ad\u653e\u3002\u5927\u4e8e 5MB \u7684\u5a92\u4f53\u6587\u4ef6\u65e0\u6cd5\u76f4\u63a5\u64ad\u653e\uff0c\u9700\u8981\u4f7f\u7528\u672c\u5730\u670d\u52a1\u5668\u64ad\u653e |\n| --encrypt-password, --ep TEXT | \u52a0\u5bc6\u5bc6\u7801\uff0c\u9ed8\u8ba4\u4f7f\u7528\u7528\u6237\u8bbe\u7f6e\u7684                                                |\n\n## \u4e0a\u4f20\u6587\u4ef6\n\n\u4e0a\u4f20\u4e00\u4e9b\u672c\u5730\u6587\u4ef6\u6216\u76ee\u5f55\u5230\u7f51\u76d8\u76ee\u5f55\u3002\n\nBaiduPCS-Py \u9996\u5148\u4f1a\u5c1d\u8bd5\u79d2\u4f20\u3002\u5982\u679c\u79d2\u4f20\u5931\u8d25\uff0c\u4f1a\u4f7f\u7528\u5206\u7247\u4e0a\u4f20\u4e0a\u4f20\u6587\u4ef6\u3002\n\n\u4e0a\u4f20\u8fc7\u7a0b\u4e2d\uff0c\u6309 \u201cp\u201d \u53ef\u4ee5\u6682\u505c\u6216\u7ee7\u7eed\u4e0a\u4f20\u3002\n\n```\nBaiduPCS-Py upload [OPTIONS] [LOCALPATHS]... REMOTEDIR\n```\n\n\u6307\u5b9a\u4e0a\u4f20\u65b9\u5f0f\uff1a\n\n`--upload-type Many`: \u540c\u65f6\u4e0a\u4f20\u591a\u4e2a\u6587\u4ef6\u3002\n\n\u9002\u5408\u5927\u591a\u6570\u6587\u4ef6\u957f\u5ea6\u5c0f\u4e8e 100M \u4ee5\u4e0b\u7684\u60c5\u51b5\u3002\n\n```\nBaiduPCS-Py upload --upload-type Many [OPTIONS] [LOCALPATHS]... REMOTEDIR\n```\n\n`--upload-type One`: \u4e00\u6b21\u53ea\u4e0a\u4f20\u4e00\u4e2a\u6587\u4ef6\uff0c\u4f46\u540c\u65f6\u4e0a\u4f20\u6587\u4ef6\u7684\u591a\u4e2a\u5206\u7247\u3002\n\n\u9002\u5408\u5927\u591a\u6570\u6587\u4ef6\u957f\u5ea6\u5927\u4e8e 1G \u4ee5\u4e0a\u7684\u60c5\u51b5\u3002\n\n```\nBaiduPCS-Py upload --upload-type One [OPTIONS] [LOCALPATHS]... REMOTEDIR\n```\n\n\u6307\u5b9a\u540c\u65f6\u4e0a\u4f20\u8fde\u63a5\u6570\u91cf:\n\n`--max-workers` \u9ed8\u8ba4\u4e3a CPU \u6838\u6570\u3002\n\n```\nBaiduPCS-Py upload --max-workers 4 [OPTIONS] [LOCALPATHS]... REMOTEDIR\n```\n\n### \u6ce8\u610f\uff1aupload \u4e0a\u4f20\u672c\u5730\u76ee\u5f55\u6709\u6539\u53d8\n\n- \u5c0f\u4e8e v0.6.8 \u7684\u7248\u672c\uff0c\u5982\u679c\u4e0a\u4f20\u672c\u5730\u76ee\u5f55 `localdir` \u5230\u8fdc\u7aef\u76ee\u5f55 `remotedir`\uff0cBaiduPCS-Py \u662f\u5c06 `localdir` \u4e0b\u7684\u6240\u6709\u6587\u4ef6\uff08\u5305\u62ec\u4e0b\u7ea7\u76ee\u5f55\uff09\u4e0a\u4f20\u5230\u8fdc\u7aef\u76ee\u5f55 `remotedir` \u4e0b\u3002\n\n  \u6bd4\u5982\uff0c`localdir` \u4e0b\u6709 2 \u4e2a\u6587\u4ef6 `a`\uff0c`b` \u548c\u4e00\u4e2a\u4e0b\u7ea7\u76ee\u5f55 `sub/`\uff0c\u5982\u679c\u8fd0\u884c `BaiduPCS-Py upload localdir remotedir`\uff0c\u7ed3\u679c\u662f\u8fdc\u7aef\u76ee\u5f55 `remotedir` \u4e0b\u589e\u52a0\u4e86 2 \u4e2a\u6587\u4ef6 `a`\uff0c`b` \u548c\u4e00\u4e2a\u4e0b\u7ea7\u76ee\u5f55 `sub/`\u3002\n\n- \u5927\u4e8e\u6216\u7b49\u4e8e v0.6.8 \u7684\u7248\u672c\uff0c\u5982\u679c\u4e0a\u4f20\u672c\u5730\u76ee\u5f55 `localdir` \u5230\u8fdc\u7aef\u76ee\u5f55 `remotedir`\uff0cBaiduPCS-Py \u662f\u5c06 `localdir` \u8fd9\u4e2a\u76ee\u5f55\u4e0a\u4f20\u5230\u8fdc\u7aef\u76ee\u5f55 `remotedir` \u4e0b\u3002\n\n  \u6bd4\u5982\uff0c`localdir` \u4e0b\u6709 2 \u4e2a\u6587\u4ef6 `a`\uff0c`b` \u548c\u4e00\u4e2a\u4e0b\u7ea7\u76ee\u5f55 `sub/`\uff0c\u5982\u679c\u8fd0\u884c `BaiduPCS-Py upload localdir remotedir`\uff0c\u7ed3\u679c\u662f\u8fdc\u7aef\u76ee\u5f55 `remotedir` \u4e0b\u589e\u52a0\u4e86 1 \u4e2a\u4e0b\u7ea7\u76ee\u5f55\u548c\u5b83\u7684\u6240\u6709\u6587\u4ef6 `localdir/a`\uff0c`localdir/b` \u548c\u4e00\u4e2a\u4e0b\u7ea7\u76ee\u5f55 `localdir/sub/`\u3002\n\n  \u5982\u679c\u8981\u5c06 `localdir` \u4e0b\u7684\u6240\u6709\u6587\u4ef6\uff08\u5305\u62ec\u4e0b\u7ea7\u76ee\u5f55\uff09\u4e0a\u4f20\u5230\u8fdc\u7aef\u76ee\u5f55 `remotedir`\uff0c\u7528 `BaiduPCS-Py upload localdir/* remotedir`\n\n### \u9009\u9879\n\n| Option                                                     | Description                                                                                |\n| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------ |\n| -t, --upload-type [One \\| Many]                            | \u4e0a\u4f20\u65b9\u5f0f\uff0cMany (\u9ed8\u8ba4): \u540c\u65f6\u4e0a\u4f20\u591a\u4e2a\u6587\u4ef6\uff0cOne: \u4e00\u6b21\u53ea\u4e0a\u4f20\u4e00\u4e2a\u6587\u4ef6\uff0c\u4f46\u540c\u65f6\u4e0a\u4f20\u6587\u4ef6\u7684\u591a\u4e2a\u5206\u7247 |\n| --encrypt-password, --ep TEXT                              | \u52a0\u5bc6\u5bc6\u7801\uff0c\u9ed8\u8ba4\u4f7f\u7528\u7528\u6237\u8bbe\u7f6e\u7684                                                               |\n| -e, --encrypt-type [No \\| Simple \\| ChaCha20 \\| AES256CBC] | \u6587\u4ef6\u52a0\u5bc6\u65b9\u6cd5\uff0c\u9ed8\u8ba4\u4e3a No \u4e0d\u52a0\u5bc6                                                             |\n| -w, --max-workers INTEGER                                  | \u540c\u65f6\u4e0a\u4f20\u6587\u4ef6\u8fde\u63a5\u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a CPU \u6838\u6570                                                      |\n| --no-ignore-existing, --NI                                 | \u4e0a\u4f20\u5df2\u7ecf\u5b58\u5728\u7684\u6587\u4ef6                                                                         |\n| --no-show-progress, --NP                                   | \u4e0d\u663e\u793a\u4e0a\u4f20\u8fdb\u5ea6                                                                             |\n| --check-md5, --CM                                          | \u5206\u6bb5\u4e0a\u4f20\u540e\u68c0\u67e5 md5\u3002\u6ce8\u610f\u68c0\u67e5\u4e0a\u4f20\u540e\u5927\u6587\u4ef6\u7684 md5\uff0c\u53ef\u80fd\u4f1a\u82b1\u6570\u5206\u4e2d\uff082G \u7684\u6587\u4ef6\u9700\u8981\u5927\u7ea6 5 \u5206\u949f\uff09 |\n\n## \u540c\u6b65\u672c\u5730\u76ee\u5f55\u5230\u8fdc\u7aef\n\n\u540c\u6b65\u672c\u5730\u76ee\u5f55\u5230\u8fdc\u7aef\u3002\n\n\u5982\u679c\u672c\u5730\u6587\u4ef6\u6700\u540e\u4fee\u6539\u65f6\u95f4\u6216\u5927\u5c0f\u548c\u8fdc\u7aef\u4e0d\u540c\u5219\u4e0a\u4f20\u6587\u4ef6\u3002\u5bf9\u4e8e\u672c\u5730\u4e0d\u5b58\u5728\u7684\u6587\u4ef6\u4f46\u8fdc\u7aef\u5b58\u5728\u5219\u5220\u9664\u8fdc\u7aef\u6587\u4ef6\u3002\n\n```\nBaiduPCS-Py sync [OPTIONS] LOCALDIR REMOTEDIR\n```\n\n### \u9009\u9879\n\n| Option                                                     | Description                                                                                |\n| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------ |\n| --encrypt-password, --ep TEXT                              | \u52a0\u5bc6\u5bc6\u7801\uff0c\u9ed8\u8ba4\u4f7f\u7528\u7528\u6237\u8bbe\u7f6e\u7684                                                               |\n| -e, --encrypt-type [No \\| Simple \\| ChaCha20 \\| AES256CBC] | \u6587\u4ef6\u52a0\u5bc6\u65b9\u6cd5\uff0c\u9ed8\u8ba4\u4e3a No \u4e0d\u52a0\u5bc6                                                             |\n| -w, --max-workers INTEGER                                  | \u540c\u65f6\u4e0a\u4f20\u6587\u4ef6\u6570                                                                             |\n| --no-show-progress, --NP                                   | \u4e0d\u663e\u793a\u4e0a\u4f20\u8fdb\u5ea6                                                                             |\n| --check-md5, --CM                                          | \u5206\u6bb5\u4e0a\u4f20\u540e\u68c0\u67e5 md5\u3002\u6ce8\u610f\u68c0\u67e5\u4e0a\u4f20\u540e\u5927\u6587\u4ef6\u7684 md5\uff0c\u53ef\u80fd\u4f1a\u82b1\u6570\u5206\u4e2d\uff082G \u7684\u6587\u4ef6\u9700\u8981\u5927\u7ea6 5 \u5206\u949f\uff09 |\n\n## \u5173\u4e8e\u79d2\u4f20\n\n\u767e\u5ea6\u7f51\u76d8\u5728\u670d\u52a1\u5668\u4e0a\u5bf9\u4e8e\u4e00\u4efd\u6587\u4ef6\u53ea\u50a8\u5b58\u4e00\u4efd\u3002\u5982\u679c\u4e00\u4efd\u6587\u4ef6\u5df2\u7ecf\u5b58\u5728\u4e8e\u767e\u5ea6\u7f51\u76d8\u7684\u670d\u52a1\u5668\u4e2d\uff0c\u7528\u6237\u65e0\u9700\u91cd\u65b0\u4e0a\u4f20\u6e90\u6587\u4ef6\uff0c\u53ea\u9700\u8981\u63d0\u4f9b\u6587\u4ef6\u7684\u7279\u5f81\u53c2\u6570\u5c31\u53ef\u5b8c\u6210\u4e0a\u4f20\uff0c\u8fd9\u79cd\u4e0a\u4f20\u6587\u4ef6\u7684\u65b9\u6cd5\u767e\u5ea6\u53eb\u505a\u201c**\u79d2\u4f20**\u201d\u3002\n\n\u8fd0\u7528\u201c\u79d2\u4f20\u201d\u7684\u529f\u80fd\uff0c\u6211\u4eec\u5c06\u4e00\u4efd\u6587\u4ef6\u53d8\u6210\u4e00\u7ec4\u7279\u5f81\u53c2\u6570\u3002\u53ea\u8981\u83b7\u5f97\u8fd9\u7ec4\u7279\u5f81\u53c2\u6570\uff0c\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u767e\u5ea6\u7f51\u76d8\u4e2d\u201c\u751f\u6210\u201d\u8fd9\u7ec4\u7279\u5f81\u53c2\u6570\u5bf9\u5e94\u7684\u552f\u4e00\u6587\u4ef6\u3002\n\nBaiduPCS-Py \u53ef\u4ee5\u83b7\u53d6\u767e\u5ea6\u7f51\u76d8\u4e2d\u6587\u4ef6\u7684\u7279\u5f81\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u8f6c\u5316\u4e3a\u4e00\u4e32\u8fde\u63a5\u3002\u4f7f\u7528\u8fd9\u4e2a\u8fde\u63a5\uff0c\u4f7f\u7528\u8005\u53ef\u4ee5\u5728\u4efb\u4f55\u5e10\u53f7\u4e2d\u201c\u751f\u6210\u201d\u5bf9\u5e94\u6587\u4ef6\uff0c\u8fbe\u5230\u6587\u4ef6\u5206\u4eab\u7684\u529f\u80fd\u3002\n\nBaiduPCS-Py \u652f\u6301 3 \u79cd\u79d2\u4f20\u8fde\u63a5(\u5728 BaiduPCS-Py \u53eb Hash Link)\u534f\u8bae\uff1a\n\n1. `cs3l`\n\n`cs3l` \u662f <b>C</b>ontent_md5 + <b>S</b>lice256k_md5 + content_crc<b>3</b>2 + content\\_<b>L</b>ength \u7684\u7f29\u5199\u3002\n\n\u683c\u5f0f: `cs3l://<content_md5>#<slice_md5>#<content_crc32>#<content_length>#<filename>`\n\n\u4f8b\u5982: `cs3l://ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#2518837112#33251183#test.gz`\n\nBaiduPCS-Py \u9ed8\u8ba4\u4f7f\u7528 `cs3l` \u534f\u8bae\u8fde\u63a5\u3002\n\n2. `short`\n\n`short` \u662f `cs3l` \u683c\u5f0f\u7684\u7f29\u5199\u7248\u3002\u6700\u65e9\u51fa\u81ea\u4e8e[\u68a6\u59ec\u5ea6\u76d8\u6807\u51c6\u63d0\u53d6\u7801](https://blog.jixun.moe/du-code-gen)\u3002\n\n\u683c\u5f0f: `<content_md5>#<slice_md5>#<content_length>#<filename>`\n\n\u4f8b\u5982: `ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#33251183#test.gz`\n\n3. `bdpan`\n\n`bdpan` \u662f pandownload \u4f7f\u7528\u7684\u534f\u8bae\u8fde\u63a5\u3002\n\n\u683c\u5f0f: `bdpan://{base64(<filename>|<content_length>|<content_md5>|<slice_md5>)}`\n\n\u4f8b\u5982: `bdpan://Q29udGVudHMtYW1kNjQuZ3p8MzMyNTExODN8Y2VkNThkYjdhZWRjZThlMWM4ODc3NTRmY2NjY2RlMDN8MGQwMjU4OTQ2N2YzNGJkZDg2ZDA4MjIxZTkzYjI3ODM=`\n\nBaiduPCS-Py \u4f1a\u5c06\u5728\u547d\u4ee4 `ls`\uff0c`upload`\uff0c`sync`\uff0c`rp` \u4e2d\u9047\u5230\u7684\u6587\u4ef6\u7279\u5f81\u53c2\u6570\u5b58\u50a8\u4e8e\u672c\u5730 sqlite3 \u6570\u636e\u5e93 `~/.baidupcs-py/rapiduploadinfo.sqlite3`\u3002\u4f7f\u7528 `rplist`\uff0c`rpsearch` \u547d\u4ee4\u53ef\u4ee5\u67e5\u770b\u8fd9\u4e9b\u4fe1\u606f\u3002\n\n## \u663e\u793a\u7f51\u76d8\u4e2d\u6587\u4ef6\u7684\u79d2\u4f20\u8fde\u63a5\n\n\u4f7f\u7528 `ls` \u547d\u4ee4\u663e\u793a\u79d2\u4f20\u8fde\u63a5\u9ed8\u8ba4\u4f1a\u5bf9\u6587\u4ef6\u8fdb\u884c\u79d2\u4f20\u68c0\u67e5\uff0c\u5df2\u786e\u8ba4\u670d\u52a1\u5668\u662f\u5426\u5df2\u7ecf\u5c06\u6587\u4ef6\u7279\u5f81\u8bb0\u5f55\u3002\n\n\u5bf9\u4e8e\u624d\u4e0a\u4f20\u7684\u5927\u6587\u4ef6\uff0c\u670d\u52a1\u5668\u4e0d\u4f1a\u7acb\u523b\u8ba1\u7b97\u5b8c\u6587\u4ef6\u7684\u7279\u5f81\u53c2\u6570\uff0c\u8fd9\u4e2a\u8fc7\u7a0b\u53ef\u80fd\u6301\u7eed\u6570\u5929\u7684\u65f6\u95f4\u3002\u5728\u6b64\u671f\u95f4\u79d2\u4f20\u65e0\u6cd5\u8fdb\u884c\u3002\n\n\u5982\u679c\u60f3\u7565\u8fc7\u79d2\u4f20\u68c0\u67e5\uff0c\u7528\u6237\u53ef\u4ee5\u7528 `--no-check-md5` \u9009\u9879\u3002\u4f46\u8fd9\u6837\u751f\u6210\u7684\u79d2\u4f20\u8fde\u63a5\u53ef\u80fd\u662f\u65e0\u6548\u7684\u3002\n\n> \u6ce8\u610f\uff1a\u663e\u793a\u79d2\u4f20\u8fde\u63a5\u9700\u8981\u8bf7\u6c42\u6587\u4ef6 256KB \u7684\u5185\u5bb9\u3002\u5982\u679c\u7528\u6237\u662f\u975e svip \u4e14\u8bf7\u6c42\u7684\u6587\u4ef6\u5f88\u591a\uff0c\u90a3\u4e48\u8fd9\u4e2a\u8fc7\u7a0b\u8981\u82b1\u5f88\u957f\u65f6\u95f4\u3002BaidPCS-Py \u4f7f\u7528 10 \u4e2a\u7ebf\u7a0b\u6765\u8bf7\u6c42\uff0c\u5982\u679c\u662f\u975e svip\uff0c\u6bcf\u4e2a\u6587\u4ef6\u8bf7\u6c42\u53ef\u80fd\u8981\u82b1 5 \u79d2\u3002\n\n```\n# \u9ed8\u8ba4\u663e\u793a cs3l \u534f\u8bae\u8fde\u63a5\nBaiduPCS-Py ls /path/to/file --show-hash-link\n\n# \u6216\u8005\u7528 --show-hash-link \u7f29\u5199 --HL\nBaiduPCS-Py ls /path/to/file --HL\n```\n\n\u6307\u5b9a\u7279\u5b9a\u534f\u8bae\uff1a\n\n```\nBaiduPCS-Py ls /path/to/file --show-hash-link --hash-link-protocol bdpan\n```\n\n\u5982\u679c\u8fde\u63a5\u8fc7\u957f\uff0c\u53ef\u4ee5\u52a0\u9009\u9879 `--csv`\uff0c\u8ba9\u8f93\u51fa\u53d8\u4e3a csv \u683c\u5f0f\u3002\n\n```\nBaiduPCS-Py ls /path/to/file --show-hash-link --csv\n```\n\n## \u5217\u51fa\u4fdd\u5b58\u7684\u6587\u4ef6\u79d2\u4f20\u4fe1\u606f\n\n```\nBaiduPCS-Py rplist [OPTIONS] [IDS]...\n```\n\n\u5982\u679c\u4e0d\u7ed9\u51fa ids\uff0c\u9ed8\u8ba4\u4e3a\u5bf9\u6240\u6709\u6570\u636e\u8fdb\u884c\u64cd\u4f5c\u3002\n\n### \u9009\u9879\n\n| Option                                               | Description               |\n| ---------------------------------------------------- | ------------------------- |\n| -f, --filename                                       | \u6309\u6587\u4ef6\u540d\u6392\u5e8f              |\n| -t, --time                                           | \u6309\u65f6\u95f4\u6392\u5e8f                |\n| -s, --size                                           | \u6309\u6587\u4ef6\u5927\u5c0f\u6392\u5e8f            |\n| -l, --localpath                                      | \u6309\u672c\u5730\u540d\u6392\u5e8f              |\n| -r, --remotepath                                     | \u6309\u8fdc\u7aef\u540d\u6392\u5e8f              |\n| -u, --userid                                         | \u6309\u7528\u6237 id \u6392\u5e8f            |\n| -n, --username                                       | \u6309\u7528\u6237\u540d\u6392\u5e8f              |\n| -d, --desc                                           | \u6309\u9006\u5e8f\u6392\u5e8f                |\n| -L, --limit INTEGER                                  | \u9650\u5236\u5217\u51fa\u6587\u4ef6\u4e2a\u6570          |\n| -O, --offset INTEGER                                 | \u5217\u51fa\u504f\u79fb\u4f4d                |\n| --hash-link-protocol, --HLP [cs3l \\| short \\| bdpan] | hash link \u534f\u8bae, \u9ed8\u8ba4 cs3l |\n| --show-all, -A                                       | \u663e\u793a\u6587\u4ef6\u6240\u6709\u4fe1\u606f          |\n| --only-hash-link, --OHL                              | \u53ea\u663e\u793a\u6587\u4ef6\u79d2\u4f20\u8fde\u63a5        |\n\n## \u641c\u7d22\u4fdd\u5b58\u7684\u6587\u4ef6\u79d2\u4f20\u4fe1\u606f\n\n```\nBaiduPCS-Py rpsearch [OPTIONS] KEYWORD\n```\n\n### \u9009\u9879\n\n| Option                                               | Description                                    |\n| ---------------------------------------------------- | ---------------------------------------------- |\n| --filename, --fn                                     | \u5728\u6587\u4ef6\u540d\u4e2d\u641c\u7d22                                 |\n| --localpath, --lp                                    | \u5728\u672c\u5730\u8def\u5f84\u4e2d\u641c\u7d22                               |\n| --remotepath, --rp                                   | \u5728\u8fdc\u7aef\u8def\u5f84\u4e2d\u641c\u7d22                               |\n| --username, --un                                     | \u5728\u7528\u6237\u540d\u4e2d\u641c\u7d22                                 |\n| -m, --md5                                            | \u5728 md5 \u4e2d\u641c\u7d22\u3002\u6ce8\u610f\u4fdd\u5b58\u7684\u6587\u4ef6 md5 \u90fd\u662f\u5c0f\u5199\u5b57\u7b26 |\n| --hash-link-protocol, --HLP [cs3l \\| short \\| bdpan] | hash link \u534f\u8bae, \u9ed8\u8ba4 cs3l                      |\n| --show-all, -A                                       | \u663e\u793a\u6587\u4ef6\u6240\u6709\u4fe1\u606f                               |\n| --only-hash-link, --OHL                              | \u53ea\u663e\u793a\u6587\u4ef6\u79d2\u4f20\u8fde\u63a5                             |\n\n## \u7528\u79d2\u4f20\u8fde\u63a5\u6216\u53c2\u6570\u4e0a\u4f20\n\n```\nBaiduPCS-Py rp [OPTIONS] [REMOTEDIR]\n```\n\n\u4f7f\u7528\u79d2\u4f20\u8fde\u63a5\uff1a\n\n```\n# \u5c06\u79d2\u4f20\u8fde\u63a5\u6307\u5411\u7684\u6587\u4ef6\u4fdd\u5b58\u5230\u8fdc\u7aef\u8def\u5f84 /path/to/save\nBaiduPCS-Py rp /path/to/save --link 'cs3l://ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#2518837112#33251183#test.gz'\n\nBaiduPCS-Py rp /path/to/save --link 'ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#33251183#test.gz'\n\nBaiduPCS-Py rp /path/to/save --link 'bdpan://Q29udGVudHMtYW1kNjQuZ3p8MzMyNTExODN8Y2VkNThkYjdhZWRjZThlMWM4ODc3NTRmY2NjY2RlMDN8MGQwMjU4OTQ2N2YzNGJkZDg2ZDA4MjIxZTkzYjI3ODM='\n```\n\n\u4ece\u6307\u5b9a\u6587\u4ef6\u83b7\u53d6\u8981\u4f7f\u7528\u7684\u79d2\u4f20\u8fde\u63a5\uff0c\u6587\u4ef6\u4e2d\u4e00\u884c\u4e00\u4e2a\u79d2\u4f20\u8fde\u63a5\u3002\n\n```\nBaiduPCS-Py rp /path/to/save --input-file links.txt --max-workers 5\n```\n\n\u4f7f\u7528\u7279\u5f81\u53c2\u6570\uff1a\n\n```\nBaiduPCS-Py rp /path/to/save \\\n    --content-md5 'ced58db7aedce8e1c887754fccccde03' \\\n    --slice-md5 '0d02589467f34bdd86d08221e93b2783' \\\n    --content-length '33251183' \\\n    --filename 'test.gz'\n```\n\n\u5982\u679c\u540c\u65f6\u6709 `--link` \u548c `--filename`\uff0c\u90a3\u4e48 `--filename` \u503c\u5c06\u4ee3\u66ff link \u4e2d\u7684\u6587\u4ef6\u540d\u3002\n\n### \u9009\u9879\n\n| Option                         | Description                                            |\n| ------------------------------ | ------------------------------------------------------ |\n| -l, --link TEXT                | cs3l:// \u534f\u8bae\u8fde\u63a5 \u6216 \u7b80\u5316\u8fde\u63a5                           |\n| -i, --input-file TEXT          | \u4ece\u6307\u5b9a\u6587\u4ef6\u83b7\u53d6\u8981\u4f7f\u7528\u7684\u79d2\u4f20\u8fde\u63a5\uff1b\u53ea\u80fd\u662f\u4e00\u884c\u4e00\u4e2a\u79d2\u4f20\u8fde\u63a5 |\n| --slice-md5, --sm TEXT         | \u6587\u4ef6\u524d 256KB md5                                       |\n| --content-md5, --cm TEXT       | \u6587\u4ef6 md5                                               |\n| --content-crc32, --cc INTEGER  | \u6587\u4ef6 crc32, \u53ef\u4ee5\u4e3a\u7a7a                                   |\n| --content-length, --cl INTEGER | \u6587\u4ef6\u957f\u5ea6                                               |\n| --filename, --fn TEXT          | \u6587\u4ef6\u540d\uff0c\u5982\u679c\u8fd9\u91cc\u8bbe\u7f6e\u4e86\uff0c\u5c06\u4f1a\u8986\u76d6 link \u4e2d\u7684\u6587\u4ef6\u540d       |\n| --no-ignore-existing, --NI     | \u4e0a\u4f20\u4e14\u8986\u76d6\u5df2\u7ecf\u5b58\u5728\u7684\u6587\u4ef6                               |\n| -w, --max-workers INTEGER      | \u540c\u65f6\u4e0a\u4f20\u6587\u4ef6\u6570                                         |\n\n## \u5206\u4eab\u6587\u4ef6\n\n**\u6ce8\u610f\uff1a\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981 cookies \u4e2d\u542b\u6709 `STOKEN` \u503c\u3002**\n\n```\nBaiduPCS-Py share [OPTIONS] [REMOTEPATHS]...\n```\n\n### \u9009\u9879\n\n| Option                      | Description                      |\n| --------------------------- | -------------------------------- |\n| -p, --password TEXT         | \u8bbe\u7f6e\u79d8\u5bc6\uff0c4 \u4e2a\u5b57\u7b26\u3002\u9ed8\u8ba4\u6ca1\u6709\u79d8\u5bc6 |\n| --period-time, --pt INTEGER | \u8bbe\u7f6e\u5206\u4eab\u6709\u6548\u671f\uff0c\u5355\u4f4d\u4e3a\u5929         |\n\n## \u5217\u51fa\u5206\u4eab\u94fe\u63a5\n\n```\nBaiduPCS-Py shared\n```\n\n### \u9009\u9879\n\n| Option         | Description                                  |\n| -------------- | -------------------------------------------- |\n| -A, --show-all | \u663e\u793a\u6240\u6709\u5206\u4eab\u7684\u94fe\u63a5\uff0c\u9ed8\u8ba4\u53ea\u663e\u793a\u6709\u6548\u7684\u5206\u4eab\u94fe\u63a5 |\n\n## \u53d6\u6d88\u5206\u4eab\u94fe\u63a5\n\n```\nBaiduPCS-Py cancelshared [OPTIONS] [SHARE_IDS]...\n```\n\n## \u5217\u51fa\u5176\u4ed6\u7528\u6237\u5206\u4eab\u94fe\u63a5\u4e2d\u7684\u6587\u4ef6\n\n**\u6ce8\u610f\uff1a\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981 cookies \u4e2d\u542b\u6709 `STOKEN` \u503c\u3002**\n\n```\nBaiduPCS-Py listsharedpaths [OPTIONS] SHARED_URL\n```\n\n### \u9009\u9879\n\n| Option                | Description                        |\n| --------------------- | ---------------------------------- |\n| -p, --password TEXT   | \u94fe\u63a5\u5bc6\u7801\uff0c\u5982\u679c\u6ca1\u6709\u4e0d\u7528\u8bbe\u7f6e         |\n| --no-show-vcode, --NV | \u4e0d\u663e\u793a\u9a8c\u8bc1\u7801\uff0c\u5982\u679c\u9700\u8981\u9a8c\u8bc1\u7801\u5219\u62a5\u9519 |\n\n## \u4fdd\u5b58\u5176\u4ed6\u7528\u6237\u5206\u4eab\u7684\u94fe\u63a5\n\n**\u6ce8\u610f\uff1a\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981 cookies \u4e2d\u542b\u6709 `STOKEN` \u503c\u3002**\n\n\u4fdd\u5b58\u5176\u4ed6\u7528\u6237\u5206\u4eab\u7684\u94fe\u63a5\u5230\u8fdc\u7aef\u76ee\u5f55\u3002\n\n```\nBaiduPCS-Py save [OPTIONS] SHARED_URL REMOTEDIR\n```\n\n### \u9009\u9879\n\n| Option                | Description                        |\n| --------------------- | ---------------------------------- |\n| -p, --password TEXT   | \u94fe\u63a5\u5bc6\u7801\uff0c\u5982\u679c\u6ca1\u6709\u4e0d\u7528\u8bbe\u7f6e         |\n| --no-show-vcode, --NV | \u4e0d\u663e\u793a\u9a8c\u8bc1\u7801\uff0c\u5982\u679c\u9700\u8981\u9a8c\u8bc1\u7801\u5219\u62a5\u9519 |\n\n## \u6dfb\u52a0\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1\n\n```\nBaiduPCS-Py add [TASK_URLS]... REMOTEDIR\n```\n\n\u767e\u5ea6\u7f51\u76d8\u652f\u6301\u6dfb\u52a0 magnet \u548c http/s \u7684\u79bb\u7ebf\u4efb\u52a1\u3002\n\n\u5982\u679c\u6dfb\u52a0 magnet \u8fde\u63a5\u9700\u8981\u6307\u5b9a\u8981\u4e0b\u8f7d\u7684\u6587\u4ef6\u7c7b\u578b\uff1a\n\n- m: \u5a92\u4f53\u6587\u4ef6 (\u9ed8\u8ba4)\n- i: \u56fe\u7247\u6587\u4ef6\n- d: \u6587\u6863\u6587\u4ef6\n- c: \u538b\u7f29\u6587\u4ef6\n- a: \u6240\u6709\u6587\u4ef6\n\n\u6bd4\u5982\uff0c\u8981\u4e0b\u8f7d\u6240\u6709\u7684\u5a92\u4f53\u6587\u4ef6\u548c\u6587\u6863\u6587\u4ef6\uff1a\n\n```\nBaiduPCS-Py add 'magnet:?xt=urn:btih:8e54536d364ad24f8a9b7ab0c08d52436341f131' /to/path --file-type 'm,d'\n```\n\n### \u9009\u9879\n\n| Option               | Description                                                                               |\n| -------------------- | ----------------------------------------------------------------------------------------- |\n| -t, --file-type TEXT | \u8981\u4e0b\u8f7d\u7684\u6587\u4ef6\u7c7b\u578b\uff0cm:\u5a92\u4f53\u6587\u4ef6\uff0ci:\u56fe\u7247\u6587\u4ef6\uff0cd:\u6587\u6863\u6587\u4ef6\uff0cc:\u538b\u7f29\u6587\u4ef6\uff0ca:\u6240\u6709\u6587\u4ef6\u3002\u7528','\u5206\u5272\u3002 |\n\n## \u5217\u51fa\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1\n\n```\n# \u5217\u51fa\u6240\u6709\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1\nBaiduPCS-Py tasks\n\n# \u4e5f\u53ef\u5217\u51fa\u7ed9\u5b9aid\u7684\u4efb\u52a1\u3002\nBaiduPCS-Py tasks [TASK_IDS]...\n```\n\n## \u6e05\u9664\u5df2\u7ecf\u4e0b\u8f7d\u5b8c\u548c\u4e0b\u8f7d\u5931\u8d25\u7684\u4efb\u52a1\n\n```\nBaiduPCS-Py cleartasks\n```\n\n## \u53d6\u6d88\u4e0b\u8f7d\u4efb\u52a1\n\n```\nBaiduPCS-Py canceltasks [TASK_IDS]...\n```\n\n## \u5220\u9664\u6240\u6709\u79bb\u7ebf\u4e0b\u8f7d\u4efb\u52a1\n\n```\nBaiduPCS-Py purgetasks\n```\n\n### \u9009\u9879\n\n| Option | Description    |\n| ------ | -------------- |\n| --yes  | \u786e\u8ba4\u5e76\u76f4\u63a5\u8fd0\u884c |\n\n## \u5f00\u542f HTTP \u670d\u52a1\n\n\u5728\u8fdc\u7aef `ROOT_DIR` \u76ee\u5f55\u4e0b\u5f00\u542f HTTP \u670d\u52a1\u3002\n\n`ROOT_DIR` \u9ed8\u8ba4\u4e3a `/`\n\n```\nBaiduPCS-Py server [OPTIONS] [ROOT_DIR]\n```\n\n\u5982\u679c\u9700\u8981\u8bbe\u7f6e\u8ba4\u8bc1\uff0c\u4f7f\u7528\u4e0b\u9762\u7684\u9009\u9879\u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u94a5\uff1a\n\n```\nBaiduPCS-Py server [ROOT_DIR] --username 'foo' --password 'bar'\n```\n\n\u4e5f\u53ef\u4ee5\u6307\u5b9a\u670d\u52a1\u8def\u5f84\uff1a\n\n```\nBaiduPCS-Py server [ROOT_DIR] --path '/my/pan'\n\n# \u8bbf\u95ee http://localhost:8000/my/pan/\n```\n\n### \u9009\u9879\n\n| Option                        | Description                  |\n| ----------------------------- | ---------------------------- |\n| --path TEXT                   | \u670d\u52a1\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a \u201c/\u201d         |\n| -h, --host TEXT               | \u76d1\u542c host                    |\n| -p, --port INTEGER            | \u76d1\u542c port                    |\n| -w, --workers INTEGER         | \u8fdb\u7a0b\u6570                       |\n| --encrypt-password, --ep TEXT | \u52a0\u5bc6\u5bc6\u7801\uff0c\u9ed8\u8ba4\u4f7f\u7528\u7528\u6237\u8bbe\u7f6e\u7684 |\n| --username TEXT               | HTTP Basic Auth \u7528\u6237\u540d       |\n| --password TEXT               | HTTP Basic Auth \u5bc6\u94a5         |\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Baidu Pcs Api and App",
    "version": "0.7.5",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "10ac4e8ba235dfbcb24969070e1d1d5de07972f043c3bb213ad73a355ae609f4",
                "md5": "f95c8d0b36c1ef381aa3b350cc7a4a77",
                "sha256": "a5c0a294e95a266ba770e2c4b98293285eac74b2fb89c2ed25a5f6e8e2636285"
            },
            "downloads": -1,
            "filename": "baidupcs_py-0.7.5.tar.gz",
            "has_sig": false,
            "md5_digest": "f95c8d0b36c1ef381aa3b350cc7a4a77",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7,<3.11",
            "size": 112925,
            "upload_time": "2023-01-30T09:15:28",
            "upload_time_iso_8601": "2023-01-30T09:15:28.599995Z",
            "url": "https://files.pythonhosted.org/packages/10/ac/4e8ba235dfbcb24969070e1d1d5de07972f043c3bb213ad73a355ae609f4/baidupcs_py-0.7.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-30 09:15:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "PeterDing",
    "github_project": "BaiduPCS-Py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "baidupcs-py"
}
        
Elapsed time: 0.03507s