Python、webdav 上传文件到坚果云
webdav 库的安装
使用的是webdav4,不同版本之间有差异
pip install webdav4
以坚果云为例,创建一个应用之后得到密码。
使用
实例化Client对象
from webdav4.client import Client
# username 为坚果云账号,password 为刚刚创建的密码
client = Client(base_url='https://dav.jianguoyun.com/dav/',
auth=('username', 'password'))
- base_url :webdav服务器地址
- auth:认证信息
- 可以包含用户名和密码的元组,(username, password)
- 如果不需要的话可以是 None
ls 列出目录
client.ls(path='/demo_app', detail=False)
- path :路径
- detail :boolean, 是否返回详细信息
可以看到随意创建的文件
upload_file : 上传本地文件
client.upload_file(from_path='2.txt', to_path='/demo_app/2.txt', overwrite=False)
可以看到文件本地的2.txt文件已被上传到坚果云
overwrite=False 则不会进行覆盖,会抛出文件已存在异常
webdav4.client.ResourceAlreadyExists: /demo_app/2.txt already exists.
其他常用的操作
- download_file : 下载文件到本地
- move :移动
- copy :复制
- remove :移除
- mkdir : 创建文件夹
- exists :检查给出的资源路径是否存在
- isdir :检查是否是文件夹
- isfile :是否是文件
- …