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 中删除目录中的所有文件。