首頁 > 軟體

Python實現一鍵整理百度雲盤中重複無用檔案

2022-08-09 14:02:21

有沒有頭疼過百度雲盤都要塞滿了,可是又沒有工具能剔除大量重複無用的檔案?這裡教你一個簡單的方法,通過整理目錄的方式來處理我們雲盤中無用的檔案吧。

獲取雲盤快取目錄

使用 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整理重複檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com