清空目录中的所有文件

62

尝试删除某个目录中的所有文件时,出现以下错误:

OSError: [Errno 2] No such file or directory: '/home/me/test/*'

我运行的代码是:

import os
test = "/home/me/test/*"
os.remove(test)

1
官方文档中的os.walk确实有演示示例 :) http://docs.python.org/library/os.html#os.walk - sunqiang
可能是重复的问题,参见 如何在Python中删除文件夹的内容? - JayRizzo
13个回答

0

os.remove只能删除单个文件。

如果要使用通配符删除,您需要编写自己的例程来处理这个问题。

在此论坛页面上列出了相当多的建议方法


0
删除文件夹中的所有文件。
import os
import glob

files = glob.glob(os.path.join('path/to/folder/*'))
files = glob.glob(os.path.join('path/to/folder/*.csv')) // It will give all csv files in folder
for file in files:
    os.remove(file)

-1

我另外一种做法是:

os.popen('rm -f ./yourdir')

5
不具有可移植性,且 rm -f directory 命令无法正常工作。我想知道为什么它会得到那么多的投票支持。 - Jean-François Fabre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接