在 Chrome,「另存新檔」來儲存網頁時,如果「存檔類型」選擇「完整的網頁」,儲存後,檔案夾下會同時出 foo.html 和 foo.html_files。 foo.html_files 會存放 foo.html 連結到的一些資源,好處是網頁可以完整地再度被呈現,但缺點是很佔空間。 我儲存網頁主要是為 blog 做備份,我的 blog 文章達到了一千多篇,如下圖所示,占據的儲存空間達到了 8.8GB (4.9GB + 2.2GB + 1.7GB),包含了 143,955 個檔案 (82,767 + 33,795 + 27,393)。 對於備份 blog 的目的,儲存 foo.html 就夠了,不需要儲存 foo.html_files。 為了節省空間及加速 Google Drive 同步的時間,我打算刪除所有的 *.html_files folders。 Windows 系統把 foo.html_files 和 foo.html 做了某種連結,如果直接把 foo.html_files,foo.html 會跟著被刪除。 發現如果先把 foo.html_files 改名,就可以斷開和 foo.html 連結,改名後再刪除,foo.html 就不會跟著被刪除。 寫了一個程式,以自動化的方式,刪除了所有的 *.html_files folder。 程式碼:刪除後,占據的儲存空間縮減至 844.8MB (536.6MB + 183.3MB + 123.9MB),檔案數縮減至 4,442 (3138+539+765):This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
import os from os import walk import shutil my_path = "." tmp_path = "d:\\tmp\\" for (dirpath, dirnames, filenames) in walk(my_path): if (dirpath.endswith("_files")): print(dirpath) rename_target = dirpath + "_x" os.rename(dirpath, rename_target) print(rename_target) move_target = tmp_path + rename_target print(move_target) shutil.move(rename_target,move_target)


