欢迎访问宙启技术站
智能推送

如何在Python中使用pathlib模块删除文件和文件夹

发布时间:2024-01-02 06:53:12

pathlib模块是Python 3.4中引入的一个标准库,用于处理文件路径和操作文件系统。它提供了一种更简洁和面向对象的方式来处理文件和文件夹。

使用pathlib模块删除文件和文件夹非常简单,只需使用Path对象的相应方法即可。下面是一个使用示例:

1. 删除文件:

from pathlib import Path

# 定义文件路径
file_path = Path('path/to/file.txt')

# 检查文件是否存在
if file_path.exists():
    # 删除文件
    file_path.unlink()
    print(f"文件 {file_path} 成功删除!")
else:
    print(f"文件 {file_path} 不存在!")

在上面的示例中,我们首先通过Path构造函数创建了一个Path对象,表示要删除的文件的路径。然后,我们使用exists()方法检查文件是否存在,如果存在,则使用unlink()方法删除文件。

2. 删除文件夹:

from pathlib import Path

# 定义文件夹路径
folder_path = Path('path/to/folder')

# 检查文件夹是否存在
if folder_path.exists():
    # 删除文件夹及其内容
    folder_path.rmdir()
    print(f"文件夹 {folder_path} 成功删除!")
else:
    print(f"文件夹 {folder_path} 不存在!")

在上面的示例中,我们首先通过Path构造函数创建了一个Path对象,表示要删除的文件夹的路径。然后,我们使用exists()方法检查文件夹是否存在,如果存在,则使用rmdir()方法删除文件夹及其内容。

需要注意的是,rmdir()方法只能删除空文件夹。如果要删除非空文件夹及其内容,可以使用Path对象的glob()方法和unlink()方法来递归删除文件夹中的所有文件和子文件夹。

from pathlib import Path

# 定义文件夹路径
folder_path = Path('path/to/folder')

# 检查文件夹是否存在
if folder_path.exists():
    # 递归删除文件夹及其内容
    for file in folder_path.glob('**/*'):
        if file.is_file():
            file.unlink()
        else:
            file.rmdir()
    print(f"文件夹 {folder_path} 成功删除!")
else:
    print(f"文件夹 {folder_path} 不存在!")

在上面的示例中,我们使用glob('**/*')方法来获取文件夹中的所有文件和子文件夹,并使用is_file()方法判断路径是否为文件。如果是文件,则使用unlink()方法删除文件;如果是文件夹,则使用rmdir()方法删除文件夹。

综上所述,使用pathlib模块删除文件和文件夹非常简单。通过Path对象的unlink()方法和rmdir()方法,我们可以轻松地删除文件和文件夹。如果要删除非空文件夹及其内容,可以使用glob()方法和unlink()方法进行递归删除。