在Python中删除目录中的所有文件
标签搜索

在Python中删除目录中的所有文件

追梦
2023-02-10 / 158 阅读 / 正在检测是否收录...

1.使用 os.listdir() 功能

 这个想法是遍历目录中的所有文件正在使用 os.listdir() 函数并删除遇到的每个文件 os.remove() 功能。请注意,这会删除根目录中存在的所有文件,但如果该目录包含任何子目录,则会引发异常。

import os
 
dir = 'path/to/dir'
for f in os.listdir(dir):
    os.remove(os.path.join(dir, f)).

2.使用 glob.glob() 功能

 您还可以使用 glob.glob 函数,它返回与指定模式匹配的路径的迭代器。但是,如果根目录有任何子目录,这也会引发异常。

import os, glob
 
dir = 'path/to/dir'
filelist = glob.glob(os.path.join(dir, "*"))
for f in filelist:
    os.remove(f)

3.使用 os.scandir() 功能

 使用 Python 3.5 版,速度更快 os.scandir() 函数是迭代目录中文件的推荐方法。像所有其他方法一样,当根目录包含子目录时,这会失败。

import os, glob
 
dir = 'path/to/dir'
for file in os.scandir(dir):
    os.remove(file.path)

4.使用 shutil.rmtree() 功能

 如果您需要从目录中删除所有文件、子目录和符号链接,请考虑使用 shutil.rmtree() 功能与 os.remove() 函数,如下图:

import os, shutil
 
dir = 'path/to/dir'
for files in os.listdir(dir):
    path = os.path.join(dir, files)
    try:
        shutil.rmtree(path)
    except OSError:
        os.remove(path)

如果需要删除完整目录,可以直接调用 shutil.rmtree() 根目录下的函数:

import shutil
 
dir = 'path/to/dir'
shutil.rmtree(dir)

这就是在 Python 中删除目录中的所有文件。

2
博主关闭了当前页面的评论
-->