python清空目录排除特定文件(文件夹)不删除

admin Python评论275字数 711阅读模式

如果你想删除目录下的所有文件(包括文件夹),但排除特定的文件和文件夹,你可以使用递归函数和条件语句来实现。

下面是一个示例代码,它会删除目录及其子目录下所有文件和文件夹,但排除名为"exclude_file.txt"的文件和名为"exclude_dir"的文件夹:

import os

def delete_files_and_dirs(directory):
    for filename in os.listdir(directory):
        file_path = os.path.join(directory, filename)
        if os.path.isfile(file_path):
            if filename == "exclude_file.txt":
                continue  # 跳过排除的文件
            os.remove(file_path)
        elif os.path.isdir(file_path):
            if filename == "exclude_dir":
                continue  # 跳过排除的文件夹
            delete_files_and_dirs(file_path)  # 递归删除子文件夹中的文件和文件夹
    
    os.rmdir(directory)  # 删除当前文件夹

# 调用函数删除指定目录下的文件、文件夹和目录本身(排除特定文件和文件夹)
delete_files_and_dirs("目录路径")

这段代码将删除指定目录及其子目录下的所有文件和文件夹,但会跳过名为"exclude_file.txt"的文件和名为"exclude_dir"的文件夹。请确保在使用之前备份好你的数据,以免意外删除了重要的文件或文件夹。

请替换代码中的"目录路径"为实际的目录路径。同样,请注意谨慎操作,避免误删除重要数据。

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
admin
  • 本文由 发表于 2023年9月8日 17:41:38
  • 转载请务必保留本文链接:https://www.58pxe.com/11076.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: