如果在python中包含字符串,我该如何删除它? 我希望它遍历目录中的所有文件,打开它们,检查它们是否包含字符串,如果是,则删除文件并移动到下一个文件。
答案 0 :(得分:4)
这个问题有几个方面。首先,您需要一个文件列表。根据您的需要:glob.glob
,os.listdir
或os.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_string
或True
删除该文件。