檔案多了亂放, 突然有一天發現硬碟空間不夠了, 於是寫了個python指令碼搜尋所有大於10mb的檔案,看看這些大檔案有沒有重複的副本,如果有,全部列出,以便手工刪除
使用方式 加乙個指定目錄的引數
比如python redundant_remover.py /tmp
主要用到了stat模組,os、sys系統模組
import os, sys
#引入統計模組
from statimport *
big_file_threshold= 10000000l
dict1=
# filesize 做 key, filename 做 value
dict2=
# filename 做 key, filesize 做 value
deftreewalk
(path)
:try
:for iin os.listdir(path)
: mode= os.stat(path+
"/"+i)
.st_mode
if s_isdir(mode)
<>
true
: filename= path+
"/"+i
filesize= os.stat(filename)
.st_size
if filesize > big_file_threshold:
if filesizein dict1:
dict2[filename]
= filesize
dict2[dict1[filesize]
]=filesize
else
: dict1[filesize]
= filename
else
: treewalk(path+
"/"+i)
except windowserror:
pass
defprintdict
(finaldict)
:for i_sizein finaldict.values():
print i_size
for j_namein finaldict.keys():
if finaldict[j_name]
== i_size:
print j_name
print
"\n"
if __name__==
"__main__"
: treewalk(sys.ar**[1]
) printdict(dict2)
python 讀取大檔案
以前一直沒有關注過python讀取大檔案的問題,因為一直都是順順暢暢地讀取了檔案。直到今天有人問我python怎麼讀取檔案出現了記憶體不足的錯誤?我才發現原來大檔案 gb級別 的讀取和普通檔案的讀取是不一樣的。下面介紹三種我親測可用的方法。這裡的檔案型別可以是txt,dat等型別的檔案。用read ...
python大檔案操作
我們知道python進行資料處理時有相應的庫,此篇只是針對python標準庫中file檔案操作中的read,readline,readlines等進行介紹 我們使用file讀取檔案時常看到直接使用read readlines 等一次性把檔案讀取完畢,這樣對小檔案來說當然可以,但是對於大檔案來說就可能...
python讀取大檔案
最近在學習python的過程中接觸到了python對檔案的讀取。python讀取檔案一般情況是利用open 函式以及read 函式來完成 f open filename,r f.read 這種方法讀取小檔案,即讀取遠遠大小小於記憶體的檔案顯然沒有什麼問題。但是如果是將乙個10g大小的日誌檔案讀取,即...