2013-01-03 113 views
-3

可能重复:
Search for string in txt file Python删除文件,如果它包含一个字符串

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

+3

这些文件有多大?他们是ASCII还是二进制? – mgilson

+1

[你有什么试过?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

+1

http://www.whathaveyoutried.com/ - ? –

回答

4

有几件这个问题。首先,您需要列出这些文件。根据您的需求: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删除该文件。

+0

正是我需要知道的。非常感谢。 – Jeremy

相关问题