Python刪除空文件和空文件夾的方法
更新時間:2015年07月14日 10:04:31 作者:G0561
這篇文章主要介紹了Python刪除空文件和空文件夾的方法,涉及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"時,
則表示先遍歷目錄樹的子目錄,返回子目錄下的文件,最后返回根目錄下的文件
3>參數(shù)onerror的默認(rèn)值是"None",表示忽略文件遍歷時產(chǎn)生的錯誤.如果不為空,則提供一個自定義函數(shù)提示錯誤信息后繼續(xù)
遍歷或拋出異常中止遍歷
4>該函數(shù)返回一個元組,該元組有3個元素,這3個元素分別表示每次遍歷的路徑名,目錄列表和文件列表
在2.5版中新增加了一個叫partition的函數(shù),它可以做什么呢?舉一個小例子:
>>> 'http://www.donews.net/limodou'.partition('://')
('http', '://', 'www.donews.net/limodou')
>>> 'file:/a.html'.partition('://')
('file:/a.html', ", ")
從第一個例子可以看出,它用來根據(jù)指定的分隔符將字符串進(jìn)行分割,如果字符串包含指定的分隔符,則返回一個3元的tuple,
第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。第二個例子說明,如果找不到指定的分隔符,
則返回仍然是一個3元的tuple,第一個為整個字符串,第二和第三個為空串
"""
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: #對文件列表進(jìn)行掃描
try:
fn = os.path.join(root, file) #將路徑名和文件名拼接起來
size = os.path.getsize(fn) #獲取文件名大小
if size != 0:
b = root
while(b != path):
a[b] = 1
b = b.rpartition("\\")[0] #保存上一級目錄名
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')
希望本文所述對大家的Python程序設(shè)計有所幫助。
您可能感興趣的文章:
- python刪除某個目錄文件夾的方法
- Python徹底刪除文件夾及其子文件方式
- python刪除文件夾下相同文件和無法打開的圖片
- Python實(shí)現(xiàn)拷貝/刪除文件夾的方法詳解
- Python批處理刪除和重命名文件夾的實(shí)例
- Python實(shí)現(xiàn)刪除時保留特定文件夾和文件的示例
- python 刪除非空文件夾的實(shí)例
- Python 實(shí)現(xiàn)刪除某路徑下文件及文件夾的實(shí)例講解
- Python簡單實(shí)現(xiàn)自動刪除目錄下空文件夾的方法
- Python實(shí)現(xiàn)遞歸遍歷文件夾并刪除文件
- Python實(shí)現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾實(shí)例
- python 兩種方法刪除空文件夾
相關(guān)文章
python opencv 檢測移動物體并截圖保存實(shí)例
這篇文章主要介紹了python opencv 檢測移動物體并截圖保存實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python3實(shí)現(xiàn)字符串的全排列的方法(無重復(fù)字符)
這篇文章主要介紹了python3實(shí)現(xiàn)字符串的全排列的方法(無重復(fù)字符),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Python接口自動化淺析登錄接口測試實(shí)戰(zhàn)
本文主要接好了python接口自動化的接口概念、接口用例設(shè)計及登錄,跟隨本文章來進(jìn)行一個接口用例設(shè)計及登錄接口測試實(shí)戰(zhàn),有需要的朋友可以參考下2021-08-08
Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁面鍵的示例代碼
這篇文章主要介紹了Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁面鍵的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

