删除文件夹下的文件
近期项目中,遇到了一个要删除文件夹下的内容的步骤。我写了第一个代码块:
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")
import os
import shutil
folder_path = r’D:\ 新建文件夹’ # 文件夹路径
遍历文件夹中的所有文件和子文件夹
for filename in os.listdir(folder_path):
file_path = os.path.join(folder_path, filename)
如果是文件,则删除
if os.path.isfile(file_path):
os.remove(file_path)
如果是文件夹,则递归删除
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
😬 👍