有没有头疼过百度云盘都要塞满了,可是又没有工具能剔除大量重复无用的文件?这里教你一个简单的方法,通过整理目录的方式来处理我们云盘中无用的文件吧。
获取云盘缓存目录
使用 Everything 找到云盘缓存 db 文件,复制到脚本的目录下。
云盘数据整理
我们发现这个是一个 sqlite3 的文件,用 Navicat 打开先看看。
我们所有云盘的文件以及对应的路径保存在 cache_file 中,直接导出可能会有些问题,所以我们用 pandas 来处理数据就可以了。
云盘数据导出
我的云盘导出来了 40MB 的目录数据,看着都头疼。
数据整理
把云盘的目录数据导出到 excel,后去该怎么处理就怎么处理吧。代码非常少,如果喜欢用 python 处理就用 pandas 处理,如果感觉有困难直接在 excel 中处理就可以了。
import sqlite3
import pandas as pd
file_dict = {}
con = sqlite3.connect('BaiduYunCacheFileV0.db')
cursor = con.cursor()
cursor.execute("select * from cache_file")
values = cursor.fetchall()
df = pd.DataFrame(values,columns=["id","fid","parent_path","server_filename","file_size","md5","isdir","category","server_mtime","local_mtime","reserved1","reserved2","reserved3","reserved4","reserved5","reserved6","reserved7","reserved8","reserved9"])
df.to_excel("data.xlsx")
重复文件提取
这个由于百度云盘没有对应的API接口可以使用爬虫的方式进行网页的操作对重复数据进行删除,但是容易误操作,所以还是手动把要处理的数据整理出来然后进行操作把。
通过文件名称判断重复,有了结果后续自己处理就好了。
df["server_filename"].duplicated()
0 False
1 False
2 False
3 False
4 False
...
379563 False
379564 False
379565 True
379566 True
379567 False
Name: server_filename, Length: 379568, dtype: bool
df[df["server_filename"].duplicated()]["server_filename"]
188 WE_rk_nos06.txt
252 django.po
254 django.po
255 django.po
256 django.po
...
378517 video.mp4
378518 top_level.txt
378543 Blog_articleinfo.xlsx
379565 apps
379566 职业培训规划.mmap
Name: server_filename, Length: 152409, dtype: object
到此这篇关于Python实现一键整理百度云盘中重复无用文件的文章就介绍到这了,更多相关Python整理重复文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!