Python刪除空文件和空文件夾的方法
本文實(shí)例講述了Python刪除空文件和空文件夾的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#-*- coding:cp936 -*- """ os.walk() 函數(shù)聲明:walk(top,topdown=True,onerror=None) 1>參數(shù)top表示需要遍歷的目錄樹的路徑 2>參數(shù)topdown的默認(rèn)值是"True",表示首先返回目錄樹下的文件,然后在遍歷目錄樹的子目錄.Topdown的值為"False"時(shí), 則表示先遍歷目錄樹的子目錄,返回子目錄下的文件,最后返回根目錄下的文件 3>參數(shù)onerror的默認(rèn)值是"None",表示忽略文件遍歷時(shí)產(chǎn)生的錯(cuò)誤.如果不為空,則提供一個(gè)自定義函數(shù)提示錯(cuò)誤信息后繼續(xù) 遍歷或拋出異常中止遍歷 4>該函數(shù)返回一個(gè)元組,該元組有3個(gè)元素,這3個(gè)元素分別表示每次遍歷的路徑名,目錄列表和文件列表 在2.5版中新增加了一個(gè)叫partition的函數(shù),它可以做什么呢?舉一個(gè)小例子: >>> 'http://www.donews.net/limodou'.partition('://') ('http', '://', 'www.donews.net/limodou') >>> 'file:/a.html'.partition('://') ('file:/a.html', ", ") 從第一個(gè)例子可以看出,它用來(lái)根據(jù)指定的分隔符將字符串進(jìn)行分割,如果字符串包含指定的分隔符,則返回一個(gè)3元的tuple, 第一個(gè)為分隔符左邊的子串,第二個(gè)為分隔符本身,第三個(gè)為分隔符右邊的子串。第二個(gè)例子說(shuō)明,如果找不到指定的分隔符, 則返回仍然是一個(gè)3元的tuple,第一個(gè)為整個(gè)字符串,第二和第三個(gè)為空串 """ import os, sys def remove_empty_dir(path): print path while(path[-1] == "\\"): path = path[:-1] print path a = {} for root, dirs, files in os.walk(path, False): if len(files) == 0: a[root] = 0 else: for file in files: #對(duì)文件列表進(jìn)行掃描 try: fn = os.path.join(root, file) #將路徑名和文件名拼接起來(lái) size = os.path.getsize(fn) #獲取文件名大小 if size != 0: b = root while(b != path): a[b] = 1 b = b.rpartition("\\")[0] #保存上一級(jí)目錄名 a[path] = 1 else: try: os.remove(fn) #刪除文件名為空的文件 a[root] = 0 except (WindowsError): b = root while(b != path): a[b] = 1 b = b.rpartition("\\")[0] a[path] = 1 except WindowsError: b = root while(b != path): a[b] = 1 b = b.rpartition("\\")[0] a[path] = 1 if a[root]: break; empty_dirs = [] for i, j in a.iteritems(): if j == 0: print i empty_dirs.insert(0, i) del a empty_dirs.sort(reverse=True) for i in empty_dirs: try: os.rmdir(i) #刪除目錄 print "%s 刪掉了!!" % (i) except (WindowsError): print "%s 刪不掉!!" % (i) if __name__ == "__main__": remove_empty_dir('f:\\b')
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- python刪除某個(gè)目錄文件夾的方法
- Python徹底刪除文件夾及其子文件方式
- python刪除文件夾下相同文件和無(wú)法打開的圖片
- Python實(shí)現(xiàn)拷貝/刪除文件夾的方法詳解
- Python批處理刪除和重命名文件夾的實(shí)例
- Python實(shí)現(xiàn)刪除時(shí)保留特定文件夾和文件的示例
- python 刪除非空文件夾的實(shí)例
- Python 實(shí)現(xiàn)刪除某路徑下文件及文件夾的實(shí)例講解
- Python簡(jiǎn)單實(shí)現(xiàn)自動(dòng)刪除目錄下空文件夾的方法
- Python實(shí)現(xiàn)遞歸遍歷文件夾并刪除文件
- Python實(shí)現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾實(shí)例
- python 兩種方法刪除空文件夾
相關(guān)文章
python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例
這篇文章主要介紹了python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Matplotlib繪圖基礎(chǔ)之動(dòng)畫繪制詳解
matplotlib的動(dòng)畫一直是一個(gè)強(qiáng)大但使用頻率不高的功能,通過(guò)動(dòng)畫來(lái)展示數(shù)據(jù)和模型的變化過(guò)程,可使數(shù)據(jù)的可視化更加生動(dòng)形象,下面就跟隨小編一起學(xué)習(xí)一下Matplotlib是如何繪制動(dòng)畫的吧2023-08-08python3實(shí)現(xiàn)字符串的全排列的方法(無(wú)重復(fù)字符)
這篇文章主要介紹了python3實(shí)現(xiàn)字符串的全排列的方法(無(wú)重復(fù)字符),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07PyQt5實(shí)現(xiàn)簡(jiǎn)易電子詞典
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)簡(jiǎn)易電子詞典,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Python接口自動(dòng)化淺析登錄接口測(cè)試實(shí)戰(zhàn)
本文主要接好了python接口自動(dòng)化的接口概念、接口用例設(shè)計(jì)及登錄,跟隨本文章來(lái)進(jìn)行一個(gè)接口用例設(shè)計(jì)及登錄接口測(cè)試實(shí)戰(zhàn),有需要的朋友可以參考下2021-08-08Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁(yè)面鍵的示例代碼
這篇文章主要介紹了Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁(yè)面鍵的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04