如果文件包含字符串,请将其删除

时间:2013-01-03 14:54:45

标签: python

  

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

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

1 个答案:

答案 0 :(得分:4)

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

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

这种天真的方式并不理想,因为它会将文件的全部内容读入内存,如果文件非常大,可能会出现问题。

最后,如果os.remove返回os.unlink,您可以使用check_file_for_stringTrue删除该文件。