小能豆

如何删除文件夹中的内容?

python

如何删除 Python 中本地文件夹的内容?

当前项目适用于 Windows,但我也希望看到 *nix。


阅读 145

收藏
2023-06-02

共2个答案

小能豆

import os, shutil
folder = '/path/to/folder'
for filename in os.listdir(folder):
    file_path = os.path.join(folder, filename)
    try:
        if os.path.isfile(file_path) or os.path.islink(file_path):
            os.unlink(file_path)
        elif os.path.isdir(file_path):
            shutil.rmtree(file_path)
    except Exception as e:
        print('Failed to delete %s. Reason: %s' % (file_path, e))
2023-06-02
小能豆

在Python中,你可以使用不同的方法来删除本地文件夹的内容,无论是在Windows还是*nix系统上。

  1. 删除文件夹内容的方法:
import os
import shutil

folder_path = 'your_folder_path'  # 替换为你要删除内容的文件夹路径

# 方法1: 使用os模块删除文件夹中的内容(包括子文件夹)
for filename in os.listdir(folder_path):
    file_path = os.path.join(folder_path, filename)
    if os.path.isfile(file_path) or os.path.islink(file_path):
        os.unlink(file_path)
    elif os.path.isdir(file_path):
        shutil.rmtree(file_path)

# 方法2: 使用shutil模块删除文件夹中的内容(包括子文件夹)
shutil.rmtree(folder_path)

上述代码中,你需要将 'your_folder_path' 替换为你要删除内容的实际文件夹路径。方法1使用了os模块的unlink函数删除文件和符号链接,以及rmtree函数删除文件夹。方法2使用了shutil模块的rmtree函数删除文件夹及其内容。

请注意,使用这些方法将永久删除文件夹及其内容,包括子文件夹。在删除文件夹之前,请确保你了解其内容将被永久删除。

  1. 如果你只想删除文件夹中的文件,但保留文件夹本身,可以使用以下方法:
import os

folder_path = 'your_folder_path'  # 替换为你要删除文件的文件夹路径

for filename in os.listdir(folder_path):
    file_path = os.path.join(folder_path, filename)
    if os.path.isfile(file_path):
        os.unlink(file_path)

上述代码将仅删除文件夹中的文件,而不会删除文件夹本身或子文件夹。

这些方法适用于Windows和nix系统,但请注意,在nix系统中,删除文件夹时需要具有适当的权限。

2023-06-02