Python刪除同一個文件夾下的重復文件代碼

bb225 9年前發布 | 2K 次閱讀 Python

#!/usr/bin/env python

coding: utf-8

import md5 import os from time import clock as now

def getmd5(filename):     file_txt = open(filename, 'rb').read()     m = md5.new(file_txt)     return m.hexdigest()

def main():     path = u'C:\aa\bb\cc\dd'     all_md5 = {}     all_size = {}     total_file = 0     total_delete = 0     start = now()     for file in os.listdir(path):         total_file += 1         real_path = os.path.join(path, file)         if os.path.isfile(real_path) == True:             size = os.stat(real_path).st_size             name_and_md5 = [real_path, '']             if size in all_size.keys():                 new_md5 = getmd5(real_path)                 if all_size[size][1] == '':                     all_size[size][1] = getmd5(all_size[size][0])                 if new_md5 in all_size[size]:                     total_delete += 1                     print u'刪除', file                     try:                         os.remove(os.path.join(path, file))                     except:                         print 'No such file: %s' % file                 else:                     all_size[size].append(new_md5)             else:                 all_size[size] = name_and_md5     end = now()     time_last = end - start     print u'文件總數: ', total_file     print u'刪除個數: ', total_delete     print u'耗時: ', time_last, '秒'

if name == 'main':     main()</pre>

參考:http://developer.51cto.com/art/201205/334378.htm

原文沒有執行刪除文件的操作:

try:
    os.remove(os.path.join(path, file))
except:
    print 'No such file: %s' % file

還是看官方文檔靠譜

https://docs.python.org/2/library/os.html?highlight=os.remove#os.remove

 本文由用戶 bb225 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!