📜  如果文件夹中存在文件,则在 python 中删除 \ - Python (1)

📅  最后修改于: 2023-12-03 14:53:23.261000             🧑  作者: Mango

如果文件夹中存在文件,则在 Python 中删除

在 Python 中,可以使用 os 模块来处理文件和文件夹。如果需要删除一个文件夹,可以使用 os.rmdir() 函数。但是,如果文件夹中存在文件或子文件夹,则无法删除该文件夹。因此,在删除文件夹之前,需要检查文件夹中是否有文件或子文件夹。

下面是一段示例代码,用于在 Python 中删除文件夹及其中的所有文件,如果文件夹中存在文件:

import os

def delete_folder(path):
    # 判断文件夹是否存在
    if not os.path.exists(path):
        print(f"{path} 文件夹不存在")
        return
    
    # 获取文件夹中的所有文件及子文件夹
    files = os.listdir(path)
    
    # 删除子文件夹中的文件
    for file in files:
        file_path = os.path.join(path, file)
        if os.path.isdir(file_path):
            delete_folder(file_path)
        else:
            os.remove(file_path)
    
    # 删除文件夹
    os.rmdir(path)
    print(f"{path} 文件夹删除成功")

这段代码首先判断文件夹是否存在,如果不存在则直接返回。然后使用 os.listdir() 函数获取文件夹中的所有文件及子文件夹,使用 os.path.join() 函数获取文件的完整路径。然后,对于每一个文件,如果是子文件夹,则递归调用 delete_folder() 函数;否则,使用 os.remove() 函数删除文件。最后,使用 os.rmdir() 函数删除文件夹。

需要注意的是,使用该函数删除文件夹及其中的所有文件时,无法恢复已删除的文件,因此在使用时需要谨慎。