以字符串列表递归检查txt文件内容

时间:2014-10-28 22:43:30

标签: python string

我需要筛选共享目录/子目录,读取txt文件,并检查其中是否存在某些关键短语。


import os

stringcheck = ['my espresso machine', 'sick of these dolphins', 
               'unpaid intern', 'dynamite']

parent = os.path.expanduser("~/Google Drive/life/aquatic")

def simplecheck(parent):
    for dir in os.walk(parent):
        for files in dir:
            if files.endswith(".txt"):
                if any(x not in files.read() for x in stringcheck):
                    print " "*4 + files + "\n"

simplecheck(parent)

返回:

AttributeError: 'list' object has no attribute 'endswith'

1 个答案:

答案 0 :(得分:2)

os.walk产生元组:

  

[...]对于以目录顶部(包括顶部本身)为基础的树中的每个目录,它产生一个3元组(dirpath, dirnames, filenames)

所以,你可能想写:

for files in dir[-1]:

此外,filename将是此变量的更好名称。