-
Notifications
You must be signed in to change notification settings - Fork 115
0x07 操作回收站
ZaxTyson edited this page May 1, 2020
·
3 revisions
获取回收站文件夹列表
注意 : 回收站中文件(夹)名只能显示前 17 个中文字符或者 34 个英文字符,如果这些字符相同,则在文件(夹)名后添加 (序号)
,以便区分
示例 :
>>> lzy.get_rec_dir_list()
<List RecFolder(name='some_music', id=1452180, size='8.9 M', time='2020-03-03', files=None), RecFolder(name='some_file', id=1452178, size='7.5 M', time='2020-03-03', files=None)>
获取回收站某文件夹里的文件列表
参数 | 类型 | 说明 | 必填 | 备注 |
---|---|---|---|---|
folder_id | int | 文件夹id | N | 默认-1 (根目录) |
说明 :
- 删除的文件会显示在回收站根目录,文件恢复后,被保存在网盘根目录
- 删除的文件夹也显示在回收站根目录,同时,文件夹里面的文件也会显示在回收站根目录(蓝奏云的bug)!恢复文件夹后,文件夹回到它在网盘中原本的路径,若单独恢复文件夹里的文件,则文件会被保存在网盘根目录
- 回收站根目录下文件的属性:
name
、type
、id
、time
- 回收站文件夹下文件的属性:
name
、type
、id
、size
示例 :
>>> lzy.get_rec_file_list() # 根目录文件
<List RecFile(name='3.what3.zip', id=18345453, type='zip', size='', time='2020-03-03'), RecFile(name='Source-Code-Pro.zip', id=18376974, type='zip', size='', time='2020-03-03')>
>>> lzy.get_rec_file_list(1452178)
<List RecFile(name='DNS优选.exe', id=18377136, type='exe', size='655.0 K', time=''), RecFile(name='WinHex.19.7.7z', id=18377167, type='7z', size='3.0 M', time=''), RecFile(name='curl-7.67.0.tar.azw', id=18377156, type='azw', size='3.9 M', time='')>
获取整理后回收站的全部信息 (推荐使用)
说明 :
-
本方法通过遍历回收站下所有文件夹,实现
真•根目录文件
和文件夹中文件
的分离,并通过根目录下同名文件的time
信息补全了文件夹中文件
的信息 -
若用户手动删除了
文件夹中文件
在根目录的同名文件,会导致文件仍然存在,只是不会在根目录显示。这时文件夹中文件
的time
属性设置为该文件夹的创建日期 -
本方法调用的时间开销取决于回收站文件夹的数量
示例:
>>> rec_files, rec_folders = lzy.get_rec_all()
>>> rec_files # 回收站根目录文件
<List RecFile(name='3.what3.zip', id=18345453, type='zip', size='', time='2020-03-03'), RecFile(name='Source-Code-Pro.zip', id=18376974, type='zip', size='', time='2020-03-03')>
>>> rec_folders
<List RecFolder(name='some_music', id=1452180, size='8.9 M', time='2020-03-03', files=<List RecFile(name='网易笑招SHE - 浙江杭州网易互联网招.mp3', id=18377204, type='mp3', size='3.3 M', time='2020-03-03'), RecFile(name='雲翼星辰 - 黑暗森林(原曲:Schwarzer Re.mp3', id=18377214, type='mp3', size='5.6 M', time='2020-03-03')>), RecFolder(name='some_file', id=1452178, size='7.5 M', time='2020-03-03', files=<List RecFile(name='DNS优选.exe', id=18377136, type='exe', size='655.0 K', time='2020-03-03'), RecFile(name='WinHex.19.7.7z', id=18377167, type='7z', size='3.0 M', time='2020-03-03'), RecFile(name='curl-7.67.0.tar.azw', id=18377156, type='azw', size='3.9 M', time='2020-03-03')>)>
>>> rec_folders[0].name # 第一个文件夹的名字
'some_music'
>>>> rec_folders[0].files # 第一个文件夹的文件列表
<List RecFile(name='网易笑招SHE - 浙江杭州网易互联网招.mp3', id=18377204, type='mp3', size='3.3 M', time='2020-03-03'), RecFile(name='雲翼星辰 - 黑暗森林(原曲:Schwarzer Re.mp3', id=18377214, type='mp3', size='5.6 M', time='2020-03-03')>
注意 :
- 回收站根目录下文件的属性:
name
、id
、type
、time
- 回收站文件夹里文件的属性:
name
、id
、type
、time
、size
- 回收站文件夹本身的属性:
name
、id
、size
、time
、files
从回收站恢复文件(夹)
参数 | 类型 | 说明 | 必填 | 备注 |
---|---|---|---|---|
fid | int | 文件(夹)id | Y | - |
is_file | bool | 是否为文件id | N | 默认True
|
示例 :
>>> lzy.recovery(12741016) == LanZouCloud.SUCCESS
True
返回值 :
- 成功返回 :
LanZouCloud.SUCCESS
- 失败返回 :
LanZouCloud.FAILED
- 网络异常 :
LanZouCloud.NETWORK_ERROR
注意:
- 文件恢复后保存在网盘根目录
- 文件夹恢复后保存在网盘原目录
- 执行恢复操作约
1.5s
后才能调用获取回收站信息的函数,否则被删除的文件(夹)信息没有刷新
恢复全部文件(夹)
返回值: 同 .recovery()
批量恢复文件(夹)
参数 | 类型 | 说明 | 必填 | 备注 |
---|---|---|---|---|
files | List[int] | 文件id列表 | N | 关键字参数 |
folders | List[int] | 文件夹id列表 | N | 关键字参数 |
示例 :
>>> lzy.recovery_multi(files=[12345, 12346], folders=[54321]) == LanZouCloud.SUCCESS
True
返回值: 同 .recovery()
彻底删除回收站的文件(夹)
参数 | 类型 | 说明 | 必填 | 备注 |
---|---|---|---|---|
fid | int | 文件(夹)id | Y | - |
is_file | bool | 是否为文件id | N | 默认True
|
示例 :
>>> lzy.delete_rec(12741016) == LanZouCloud.SUCCESS
True
返回值 :
- 删除成功 :
LanZouCloud.SUCCESS
- 删除失败 :
LanZouCloud.FAILED
- 网络异常 :
LanZouCloud.NETWORK_ERROR
批量删除文件(夹)
参数 | 类型 | 说明 | 必填 | 备注 |
---|---|---|---|---|
files | List[int] | 文件id列表 | N | 关键字参数 |
folders | List[int] | 文件夹id列表 | N | 关键字参数 |
示例 :
>>> lzy.delete_rec_multi(files=[12345, 12346], folders=[54321]) == LanZouCloud.SUCCESS
True
返回值: 同 .delete_rec()
清空回收站
示例 :
>>> lzy.clean_recycle() == LanZouCloud.SUCCESS
True
返回值 :
- 清空成功 :
LanZouCloud.SUCCESS
- 清空失败 :
LanZouCloud.FAILED
- 网络异常 :
LanZouCloud.NETWORK_ERROR
清空"幽灵文件夹"
说明: 这类文件夹没有合法的父文件夹,不会在网盘和回收站显示, 移动文件时可以看见, 移动进去普通用户就找不着了。正常情况用不上。
返回值 :
- 清空成功 :
LanZouCloud.SUCCESS
- 清空失败 :
LanZouCloud.FAILED