c盤一直亮紅燈,苦於找不到合適的清理方法. 於是,自己擼了一串**,幫忙找出》500m(自定義)的資料夾,然後判斷是否刪除,另外對空檔案進行刪除.
python 3.5
windows 7 32bit
#-*-coding:utf-8-*-
import os
from os.path import join,getsize
deflistbigfile
(dir,size,txtfile):
''' # 獲取一級目錄下所有檔案或資料夾大小
# 檔案》500m的列出來
'''txtfile.write('filename '+' '+'size '+'\n')
txtfile.write('-------------------------------------------'+'\n')
filenum = 0
# 獲取所有一級目錄檔案
files = os.listdir(dir)
for f in files:
if f[0] == '$':
pass
else:
print(f)
try:
filepath = os.path.join(dir,f)
# 跳過檔案
if os.path.isfile(filepath):
continue
# 空資料夾跳過
ifnot os.listdir(filepath):
print(f+' 為空資料夾.')
continue
# 如果是資料夾進入二級目錄
if os.path.isdir(filepath):
secondary_files = os.listdir(filepath)
if secondary_files[0]=='$': #忽略隱藏資料夾
continue
for sec_f in secondary_files:
print(' '+sec_f)
# 若二級目錄為資料夾,計算資料夾大小
sec_filepath = os.path.join(filepath,sec_f)
# 跳過檔案
if os.path.isfile(sec_filepath):
continue
#判斷資料夾是否為空
ifnot os.listdir(sec_filepath):
print(sec_filepath+' 資料夾為空')
# 刪除空目錄
os.rmdir(sec_filepath)
continue
filesize = getdirsize(sec_filepath)
filesize = (int)(filesize/1024/1024)
# 檔案或資料夾大於500m,寫入file
if filesize >500:
filenum += 1
print(sec_filepath)
txtfile.write(sec_filepath+' '+ str(filesize)+'\n')
except exception as e:
print(filepath+'該檔案不可讀..')
continue
finally:
pass
txtfile.write('\n'+'all big file num is '+str(filenum))
defgetdirsize
(dir):
size = 0
# 測試os.walk
for root,dirs,files in os.walk(dir):
try:
size+=sum([getsize(join(root,name)) for name in files])
except exception as e:
print('檔案大小無法計算 . ')
continue
return size
if __name__=='__main__':
dir = input('please input the path : ')
size = input('define the size for big file : ')
myfile = open('list.txt','w',encoding='utf-8') # 預設儲存在.py檔案同一路徑(解決中文亂碼)
#dir='c:\\'
listbigfile(dir,size,myfile)
myfile.close()
執行結果
將》500m(自定義)的檔案寫入檔案中:
filename size
-------------------------------------------
e:\kankan\android 1962
e:\kankan\music 1734
e:\kankan\steve jobs 21636
all big file num is 3
python 3.x與2.x相比的一些不同:
1.python 3 初探,第 1 部分: python 3 的新特性
2. python 獲取目錄大小
4. python 獲取當前目錄下檔案
5. python 讀取乙個目錄下的所有目錄和檔案
快速刪除大資料夾
檔案太大了,刪除很慢,沒有關係,用下邊的命令試試!1.單擊 開始 執行 在 開啟 框中鍵入 cmd 單擊 確定 按鈕,開啟 命令提示符 視窗。2.在命令提示符下,鍵入 rmdir sd user。3.按下回車鍵。從windows2000開始,微軟就去掉了deltree.exe命令,但增強了rmdir...
快速刪除大資料夾
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!檔案太大了,刪除很慢,沒有關係,用下邊的命令試試!1.單擊 開始 執行 在 開啟 框中鍵入 cmd 單擊 確定 按鈕,開啟 命令提示符 視窗。2.在命令提示符下,鍵入 rmdir s d user。3.按下回車鍵。從windows 2000開始,微...
刪除超大資料夾
rm 刪除檔案很慢。網上學了rsync刪除,做個記錄。1.建立乙個臨時空目錄 blank。tequila為要刪除的超大資料夾。leo leo asuspro d640mb d640mb workspace mkdir blank leo leo asuspro d640mb d640mb works...