python 实现删除文件或文件夹实例详解

yipeiwu_com6年前Python基础

python 实现删除文件或文件夹

          最近自己学习Python 的知识,自己学习抓取网页的内容知识等,在学习的时候Python 删除文件夹或者文件知识的时候,觉得本篇内容不错,推荐给大家。

实例代码,仔细看注释明细:

#-*- coding: UTF-8 -*- 
# 有时候要删除文件夹里文件或文件夹 
# 这个小类用来删除文件或文件夹还是相当有用的 
# 删除文件时有时希看到删除的结果,于是就有了这个Deleter了 
# 下面的一些文件注释用的是Doxygen的样式 
# 用了英文,先就不改回中文吧。 
class Deleter(): 
  def __init__(self, ToPrint=True, Logger=None): 
    self.Logger = Logger 
    self.ToPrint = ToPrint 
    return 
 
  def Log(self, Str): 
    if self.Logger: 
      self.Logger.Log(Str) 
    if self.ToPrint: 
      print Str 
    return 
 
  ## Delete a folder 
  # @param FolderName folder to delete 
  #<br/> 
  #Example: 
  #<pre> 
  #  T = Common() 
  #  FolderName = r'Temp' 
  #  T.DeleteFolder(FolderName) 
  #</pre> 
  def DeleteFolder(self, FolderName): 
    '''''delete files and folders''' 
    for Item in os.listdir(FolderName): 
      TempPath = os.path.join(FolderName, Item) 
      if os.path.isfile(TempPath): 
        self.DeleteFile(TempPath) 
        pass 
      elif os.path.isdir(TempPath): 
        self.DeleteFolder(TempPath) 
        pass 
      else: 
        self.Log("Not a file or folder: %s" % (FolderName)) 
        pass 
      pass 
 
    try: 
      os.rmdir(FolderName) 
      self.Log("Folder deleted: %s" % (FolderName)) 
    except: 
      self.Log("Failed to delete folder: %s" % (FolderName)) 
      pass 
 
    return 
 
 
  ## Delete a file 
  # @param FileName file to delete 
  #<br/> 
  #Example: 
  #<pre> 
  #  T = Common() 
  #  FolderName = r'TempFile.txt' 
  #  T.DeleteFile(FileName) 
  #</pre> 
  def DeleteFile(self, FileName): 
    try: 
      os.remove(FileName) 
      self.Log("File deleted: %s" % (FileName)) 
    except: 
      self.Log("Failed to delete file: %s" % (FileName)) 
      pass 
    return 
 
  ## Delete a list of folders 
  # @param FolderList a list of folder to delete 
  #<br/> 
  #Example: 
  #<pre> 
  #  T = Common() 
  #  FolderNameList = [r'Temp1', r'Temp2'] 
  #  T.DeleteFolders(FolderNameList) 
  #</pre> 
  def DeleteFolders(self, FolderNameList): 
    for FolderName in FolderNameList: 
      self.DeleteFolder(FolderName) 
    return 
 
  ## Delete a list of files 
  # @param FolderList a list of files to delete 
  #<br/> 
  #Example: 
  #<pre> 
  #  T = Common() 
  #  FolderNameList = [r'Temp1.txt', r'Temp2.txt'] 
  #  T.DeleteFiles(FileNameList) 
  #</pre> 
  def DeleteFiles(self, FileNameList): 
    for FileName in FileNameList: 
      self.DeleteFile(FileName) 
    return 
 
Op = Deleter() 
Op.DeleteFile('a.txt') 
# Failed to delete file: a.txt 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

python实现本地批量ping多个IP的方法示例

本文主要利用python的相关模块进行批量ping ,测试IP连通性。 下面看具体代码(python3): ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:8...

详解Python读取yaml文件多层菜单

需要用到的Python知识点 Python的对象属性方法; 用到字典{key:value}值的提取; 列表的增加; if循环结合break的使用; yaml文件读取...

简单了解Python3里的一些新特性

概述 到2020年,Python2的官方维护期就要结束了,越来越多的Python项目从Python2切换到了Python3。其实在实际工作中,很多伙伴都还是在用Python2的思维写Py...

python实现自动化报表功能(Oracle/plsql/Excel/多线程)

python实现自动化报表功能(Oracle/plsql/Excel/多线程)

日常会有很多固定报表需要手动更新,本文将利用python实现多线程运行oracle代码,并利用xlwings包和numpy包将结果写入到指定excel模版(不改变模版内容),并自动生成带...

浅析PyTorch中nn.Module的使用

torch.nn.Modules 相当于是对网络某种层的封装,包括网络结构以及网络参数和一些操作 torch.nn.Module 是所有神经网络单元的基类 查看源码 初始化部分:...