【发布时间】:2013-01-03 23:06:10
【问题描述】:
如何在 python 中删除包含字符串的文件。 我希望它遍历目录中的所有文件,打开它们,检查它们是否包含字符串,如果是,则删除文件并移至下一个文件。
【问题讨论】:
-
文件有多大?它们是ASCII还是二进制?
标签: python
如何在 python 中删除包含字符串的文件。 我希望它遍历目录中的所有文件,打开它们,检查它们是否包含字符串,如果是,则删除文件并移至下一个文件。
【问题讨论】:
标签: python
这个问题有几个部分。首先,您需要一个文件列表。根据您的需要:glob.glob、os.listdir 或 os.walk 可能是合适的。您还需要知道如何打开文件并搜索字符串。最简单(简单)的方法是打开文件,读取所有内容并检查字符串是否存在:
def check_file_for_string(filename,string):
with open(filename) as fin:
return string in fin.read()
这种幼稚的方式并不理想,因为它会将文件的全部内容读入内存,如果文件真的很大,这可能会成为问题。
最后,如果check_file_for_string返回True,你可以使用os.remove或os.unlink删除文件。
【讨论】: