python删除指定文件夹下文件和文件夹的方法
生活随笔
收集整理的這篇文章主要介紹了
python删除指定文件夹下文件和文件夹的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python刪除指定文件夾下的文件,是一個常用的功能。我找了不少地方,一直沒有找到合適的模版,那只好自己倒騰一個比較實用的模版了。
基本模塊
這里面會用到幾個模塊,一個是目錄下所有文件的的函數:listdir 常用的使用方法:
import osfilenames = os.listdir('.') print(filenames)另外一個就是查看該目錄下是否有特定的文件,這個就是name.swith()函數,具體的使用方法如下:
state = any(name.endswith('.py') for name in filenames) print(state)一個是查找該目錄下的子目錄。如下所示:該目錄子目錄static下的所有文件如下所示:
tmp_path = os.path.join(BASE_PATH,'static/')還有一種方法用于查找該目錄下的特定文件。一般使用glob模塊。glob模塊是最簡單的模塊之一,內容非常少。用它可以查找符合特定規則的文件路徑名。具體的使用方法如下所示:
fileNames = glob.glob(path + r'/*')實例解析
這里面例子如下所示:具體的解析和運行結果非常簡單,需要你自己操作了;
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import os import sys import globdef del_files(path):fileNames = glob.glob(path + r'/*')for fileName in fileNames:try:os.remove(fileName)print("remove file:%s" % fileNames)except:except:try:os.mkdir(fileName)print("mkdir file:%s " % fileName)except:print("del file:%s " % fileName)del_files(fileName)os.rmdir(fileName)def del_file(path): lsdir = os.listdir(path) print(lsdir) if any(name.endswith('.py') for name in lsdir): print("no txt in this dir") else: print("have txt and need to remove")for file in lsdir: try:c_path = os.path.join(path,file)os.remove(c_path)print("rm c path: %s " % c_path) except:del_file(path)os.rmdir(file)print("rm failed try again: %s " % c_path)if __name__ == '__main__': BASE_PATH = os.getcwd() print("below is base path:\n %s" % BASE_PATH) tmp_path = os.path.join(BASE_PATH,'static/') print("below is tmp_path:\n %s" % tmp_path) #del_files(tmp_path) del_file(tmp_path)總結
以上是生活随笔為你收集整理的python删除指定文件夹下文件和文件夹的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python下timer定时器常用的两种
- 下一篇: Python 循环中的陷阱