-3

可能重复:
在 txt 文件 Python 中搜索字符串

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

4

1 回答 1

4

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

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

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

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

于 2013-01-03T14:58:41.723 回答