📌  相关文章
📜  在 python 中删除文件夹及其子文件夹 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:07:46.534000             🧑  作者: Mango

在 Python 中删除文件夹及其子文件夹 - TypeScript

删除文件夹及其子文件夹是 Python 开发中一个常见的需求。本文将介绍在 TypeScript 中如何使用 Python 标准库 shutil 和 os 删除文件夹及其子文件夹。

删除单个文件夹

删除单个文件夹非常简单。

import shutil
shutil.rmtree('/path/to/folder')

只需传入要删除的文件夹路径,shutil.rmtree() 函数会自动删除文件夹及其内部所有文件和文件夹。

删除多个文件夹

删除多个文件夹也非常简单。只需使用 os.path.isdir() 函数检查文件夹是否存在,存在则使用 shutil.rmtree() 函数删除文件夹。

import os
import shutil

folders = ['/path/to/folder1', '/path/to/folder2', '/path/to/folder3']

for folder in folders:
    if os.path.isdir(folder):
        shutil.rmtree(folder)
删除特定类型文件

如果您只想删除文件夹内的特定类型文件,可以使用 os.listdir() 函数获取文件夹内所有文件和文件夹的名称,并使用 os.path.splitext() 函数检查文件扩展名。

import os
import shutil

folder = '/path/to/folder'
ext = '.txt'

for filename in os.listdir(folder):
    if os.path.splitext(filename)[1] == ext:
        os.remove(os.path.join(folder, filename))

上述代码将删除所有指定扩展名(.txt)的文件。

保留某些文件夹和文件

您可能需要删除文件夹及其子文件夹,但保留其中某些文件夹和文件。您可以使用 os.path.join() 函数检查要保留的文件夹和文件的路径,如果不匹配则使用 shutil.rmtree() 或 os.remove() 函数删除文件夹和文件。

import os
import shutil

folder = '/path/to/folder'
keep_folders = ['/path/to/keep/folder1', '/path/to/keep/folder2']
keep_files = ['/path/to/keep/file1', '/path/to/keep/file2']

for root, dirs, files in os.walk(folder, topdown=False):
    for name in dirs:
        if os.path.join(root, name) not in keep_folders:
            shutil.rmtree(os.path.join(root, name))
    for name in files:
        if os.path.join(root, name) not in keep_files:
            os.remove(os.path.join(root, name))

上述代码将删除文件夹及其子文件夹,但保留指定的文件夹和文件。

总的来说,在 TypeScript 中删除文件夹及其子文件夹非常简单,并且 Python 提供了广泛的标准库支持,使其变得更加易于使用。