bypy – 百度云/百度网盘Python客户端

本文最后更新于 2018年11月21日 16:37 可能会因为没有更新而失效。如已失效或需要修正,请留言
近期用独服下载了很多数据,想上传到百度网盘。用这个工具比较方便。这里增加一些实际使用中的心得。

GitHub地址:

https://github.com/houtianze/bypy

官方介绍

这是一个百度云/百度网盘的Python客户端。主要的目的就是在Linux环境下(Windows下应该也可用,但没有仔细测试过)通过命令行来使用百度云盘的2TB的巨大空间。比如,你可以用在Raspberry Pi树莓派上。它提供文件列表、下载、上传、比较、向上同步、向下同步,等操作。

由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。

特征: 支持Unicode/中文;失败重试;递归上传/下载;目录比较; 哈希缓存。

界面是英文的,主要是因为这个是为了Raspberry Pi树莓派开发的。


安装

这个工具安装很简单(这里用的Ubuntu系统):

apt install python-pip -y
pip install bypy

这样就安装完了

/usr/share/apps   就是我们本地网盘的目录(对应的百度网盘云端目录为“我的应用数据”)

百度网盘


基本操作

显示使用帮助和所有命令(英文):

bypy

第一次运行时需要授权,只需跑任何一个命令(比如 bypy info)然后跟着说明(登陆等)来授权即可。授权只需一次,一旦成功,以后不会再出现授权提示.

更详细的了解某一个命令:

bypy help <command>

显示在云盘(程序的)根目录下文件列表:

bypy list

把当前目录同步到云盘:

bypy syncup
or
bypy upload

这里我们要注意一下路径的问题。比如我们在使用bypy upload 这个命令的时候,可以看到它的高级用法:

upload [localpath] [remotepath] [ondup] - upload a file or directory (recursively)

这里的remotepath,远程云端路径,是从/usr/share/apps/bypy开始的。比如我们要把数据上传到bypy下面的A目录,让云端的A目录也有数据,那应该用以下命令:

bypy upload /root/xx.mkv A --processes 8        // --processes 8 是8个线程的意思,经测试,太多的线程似乎无法进行

把云盘内容同步到本地来:

bypy syncdown
or
bypy downdir /

比较本地当前目录和云盘(程序的)根目录(个人认为非常有用):

bypy compare

更多命令和详细解释请见运行bypy的输出。

调试

运行时添加-v参数,会显示进度详情。
运行时添加-d,会显示一些调试信息。
运行时添加-ddd,还会会显示HTTP通讯信息(警告:非常多)

 

程序依赖

重要:需要把系统的区域编码设置为UTF-8。(参见:http://perlgeek.de/en/article/set-up-a-clean-utf8-environment)

经测试,这个依赖没有安装也能正常使用。如有问题,可根据教程安装。

打赏
欢迎转载,请注明出处:轻时代 » bypy – 百度云/百度网盘Python客户端

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    同步速度感人。

    awarenull6年前 (2018-10-15)回复
    • 看你的服务器吧,我3个小时左右同步了200G

      hao6年前 (2018-10-15)回复

打赏一下作者,鼓励他发表更多的精彩文章

支付宝扫一扫打赏

微信扫一扫打赏