python 删除文件和文件夹

时间:2022-02-20 16:24:55

 

1、删除文件

  '''删除文件 '''
  def DeleteFile(strFileName):
    fileName = unicode(strFileName, "utf8")
    if os.path.isfile(fileName):
      try:
        os.remove(fileName)
      except:
        pass

2、删除文件夹

  '''删除指定目录,首先删除指定目录下的文件和子文件夹,然后再删除该文件夹'''
  def Delete_File_Dir(dirName,flag = True):
    if flag:
      dirName = unicode(dirName, "utf8")
    '''如何是文件直接删除'''
    if os.path.isfile(dirName):
      try:
        os.remove(dirName)
      except:
        pass
    elif os.path.isdir(dirName):
      '''如果是文件夹,则首先删除文件夹下文件和子文件夹,再删除文件夹'''
      for item in os.listdir(dirName):
        tf = os.path.join(dirName,item)

        '''递归调用'''

        Delete_File_Dir(tf,False)
      try:
        os.rmdir(dirName)
      except:
        pass

3、

  '''获取指定目录下的文件和文件夹,存放在文件和文件夹列表里面'''
  def GetFileDir(strDir,fileList,dirList,flag=True):
    '''考虑目录包含中文路径'''
    if flag:
      '''如果递归调用,就不用执行了,执行一次就行'''
      strDir = unicode(strDir, "utf8")
    if os.path.isdir(strDir):
      '''获取指定目录下的文件和文件夹信息'''
      flist = os.listdir(strDir)
      for obj in flist:
        '''把当前文件或文件夹和上级目录连接起来'''
        tf = os.path.join(strDir,obj)
        '''如果是文件就把文件添加到文件列表中'''
        if os.path.isfile(tf):
          fileList.append(tf)
        else:
          dirList.append(tf)
          '''递归调用GetFileDir'''
          GetFileDir(tf,fileList,dirList,False)