欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python刪除空文件和空文件夾的方法

 更新時(shí)間:2015年07月14日 10:04:31   作者:G0561  
這篇文章主要介紹了Python刪除空文件和空文件夾的方法,涉及Python針對(duì)文件與文件夾的遍歷、判斷與刪除等技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(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ì)有所幫助。

相關(guān)文章

  • 淺談Python flask框架

    淺談Python flask框架

    這篇文章主要介紹了Python flask框架,主要以對(duì)flask 微web框架優(yōu)勢(shì)特點(diǎn)、demo web應(yīng)用程序程序步驟以及對(duì)flask模塊中路由和模版兩個(gè)功能進(jìn)行基本了解。具有一定的參考價(jià)值,需要的朋友可以參考一下
    2021-11-11
  • Python類的多重繼承問(wèn)題深入分析

    Python類的多重繼承問(wèn)題深入分析

    昨天在Python類的多重繼承那里糾結(jié)了好久,咨詢了不少高手之后,才完全搞明白,現(xiàn)在把類的特性整理下,供以后參考,也給有需要的小伙伴們參考下
    2014-11-11
  • python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例

    python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例

    這篇文章主要介紹了python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python 使用matplotlib模塊模擬擲骰子

    Python 使用matplotlib模塊模擬擲骰子

    這篇文章主要介紹了Python 使用matplotlib模塊模擬擲骰子,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Matplotlib繪圖基礎(chǔ)之動(dòng)畫繪制詳解

    Matplotlib繪圖基礎(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-08
  • python3實(shí)現(xiàn)字符串的全排列的方法(無(wú)重復(fù)字符)

    python3實(shí)現(xiàn)字符串的全排列的方法(無(wú)重復(fù)字符)

    這篇文章主要介紹了python3實(shí)現(xiàn)字符串的全排列的方法(無(wú)重復(fù)字符),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • PyQt5實(shí)現(xiàn)簡(jiǎn)易電子詞典

    PyQt5實(shí)現(xiàn)簡(jiǎn)易電子詞典

    這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)簡(jiǎn)易電子詞典,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python接口自動(dòng)化淺析登錄接口測(cè)試實(shí)戰(zhàn)

    Python接口自動(dòng)化淺析登錄接口測(cè)試實(shí)戰(zhàn)

    本文主要接好了python接口自動(dòng)化的接口概念、接口用例設(shè)計(jì)及登錄,跟隨本文章來(lái)進(jìn)行一個(gè)接口用例設(shè)計(jì)及登錄接口測(cè)試實(shí)戰(zhàn),有需要的朋友可以參考下
    2021-08-08
  • Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁(yè)面鍵的示例代碼

    Pyqt5設(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
  • python中subplot大小的設(shè)置步驟

    python中subplot大小的設(shè)置步驟

    matploglib能夠繪制出精美的圖表,有時(shí)候我們希望把一組圖放在一起進(jìn)行比較,就需要用到matplotlib中提供的subplot了,這篇文章主要給大家介紹了關(guān)于python中subplot大小的設(shè)置方法,需要的朋友可以參考下
    2021-06-06

最新評(píng)論