0%

Ubuntu下安装和使用百度云盘bypy客户端

一、安装百度云盘bypy客户端

百度云盘bypy客户端是由第三方开发的,并不是官方客户端。
安装百度云盘bypy客户端的具体步骤如下:

  1. 通过sudo apt-get install python命令安装Python
  2. 通过sudo apt-get install python-requests命令安装python-requests库
  3. 通过git clone https://github.com/houtianze/bypy命令将bypy客户端下载到本地

现在可使用相应目录下的“bypy.py”脚本使用百度云盘bypy客户端。

二、使用百度云盘bypy客户端

可使用bypy.py help命令查阅使用百度云盘bypy客户端的帮助文档。接下来主要介绍使用百度云盘bypy客户端上传本地的数据到百度云盘和从百度云盘下载数据到本地。
需要注意的是,第一次运行任意bypy命令会要求进行授权,复制提示中的链接可以得到一个授权码,复制输入授权码,在确认之后就能完成授权。
假定“bypy.py”脚本的具体路径为“/home/dsl/bypy/bypy.py”。

2.1、上传本地的数据到百度云盘

命令为:

1
/home/dsl/bypy/bypy.py syncup . / true

它表示将当前目录下的所有数据上传到百度云盘的“apps/bypy”目录下,上传过程中采用增量上传的方式,而且百度云盘上多余的文件会被删除。
在实际应用中,为便于事后分析,需要将命令执行结果重定向到文件,因此以上命令更改为:

1
/home/dsl/bypy/bypy.py syncup . / true >> /home/dsl/bypy.out

执行以上命令,却发现得到如图1所示异常。

图1

这是Python 2.x系列版本的bug,解决方案是将命令改为PYTHONIOENCODING=UTF-8 /home/dsl/bypy/bypy.py syncup . / true >> /home/dsl/bypy.out
假设需要经常上传“/home/dsl/bigdisk/KuaiPan2”目录下的数据到百度云盘,为了方便,我们可以根据上述命令编写一个Shell脚本,内容如下:

1
2
3
4
#!/bin/bash

cd /home/dsl/bigdisk/KuaiPan2
PYTHONIOENCODING=UTF-8 /home/dsl/bypy/bypy.py -v syncup . / true >> /home/dsl/bypy.out

在上面命令中加上“-v”选项是为了方便查看命令执行进度。

2.2、下载百度云盘的数据到本地

命令为:

1
/home/dsl/bypy/bypy.py syncdown / . true

它表示将百度云盘的“apps/bypy”目录下的数据下载到当前目录,下载过程中采用增量下载的方式,而且当前目录下多余的文件会被删除。
其他讨论类似于“2.1、上传本地的数据到百度云盘”,这里不再赘述。

三、安装和使用过程注意事项

3.1、百度云盘不区分大小写###

由于百度云盘是跨平台的,因此不区分大小写。如果在本地有“web”和“Web”两个目录,“web”目录下有“1.txt”文件,“Web”目录下有“2.txt”文件,执行上传命令后,在百度云盘上只有“web”(或者“Web”)目录,其中的文件为“1.txt”和“2.txt”。


参考文献: [1]https://github.com/houtianze/bypy [2]http://chase-seibert.github.io/blog/2014/01/12/python-unicode-console-output.html
您的支持将鼓励我继续分享!