删除文件夹下的文件

近期项目中,遇到了一个要删除文件夹下的内容的步骤。我写了第一个代码块:

import os
import shutil
import time
#删除文件夹下文件(一)
while True:
  xiazai = os.path.exists(r"C:\Users\lwj\Desktop\1111")
  if xiazai:
      print("文件夹已存在,先删除文件夹")
      shutil.rmtree(r"C:\Users\lwj\Desktop\1111")
      #time.sleep(1)
      print("新建一个空的文件夹")
      os.mkdir(r"C:\Users\lwj\Desktop\1111")
  else:
      print("文件夹不存在,新建一个新的文件夹")
      os.mkdir(r"C:\Users\lwj\Desktop\1111")

在设计器里循环运行时发生了一个报错:

PermissionError: [WinError 5] 拒绝访问。: 'C:\\Users\\lwj\\Desktop\\1111'

这里将time.sleep(1)取消注释即可正常运行。

后来,我又写了第二个代码块,实现同样的功能:

os.chdir(r"C:\Users\lwj\Desktop\1111")
list3 = os.listdir(r"C:\Users\lwj\Desktop\1111")
def clear_file(list1, path):
    if len(list1) > 0:
        for f in list1:
            if os.path.isfile(path + "\\%s" % f):
                os.remove(path + "\\%s" % f)
            else:
                os.chdir(path + "\\%s" % f)
                list2 = os.listdir(path + "\\%s" % f)
                # 递归
                clear_file(list2, path + "\\%s" % f)

                os.chdir(path)
                os.rmdir(f)
clear_file(list3, r"C:\Users\lwj\Desktop\1111")