【问题标题】:Delete file if it contains a string [duplicate]如果文件包含字符串,则删除文件[重复]
【发布时间】:2013-01-03 23:06:10
【问题描述】:

可能重复:
Search for string in txt file Python

如何在 python 中删除包含字符串的文件。 我希望它遍历目录中的所有文件,打开它们,检查它们是否包含字符串,如果是,则删除文件并移至下一个文件。

【问题讨论】:

  • 文件有多大?它们是ASCII还是二进制?

标签: python


【解决方案1】:

这个问题有几个部分。首先,您需要一个文件列表。根据您的需要:glob.globos.listdiros.walk 可能是合适的。您还需要知道如何打开文件并搜索字符串。最简单(简单)的方法是打开文件,读取所有内容并检查字符串是否存在:

def check_file_for_string(filename,string):
    with open(filename) as fin:
         return string in fin.read()

这种幼稚的方式并不理想,因为它会将文件的全部内容读入内存,如果文件真的很大,这可能会成为问题。

最后,如果check_file_for_string返回True,你可以使用os.removeos.unlink删除文件。

【讨论】:

  • 正是我需要知道的。非常感谢。
猜你喜欢
  • 2014-08-11
  • 2019-09-28
  • 2019-06-17
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
相关资源
最近更新 更多