搜索文件内容

时间:2016-03-09 16:04:09

标签: python python-2.7 file

for root, dirs, files in os.walk('/path/to/directory'):
    for file in files:
        if line in file:
            if re.match(b'\x64', line):
                print file

为什么我在其内容中搜索具有十六进制字符x64(ASCII d)的文件,只有文件名包含d当我在文件内容的每一行内搜索时,会打印回来吗?

1 个答案:

答案 0 :(得分:2)

file中的file in files变量实际上是文件的名称,而不是文件的句柄
要获取文件的句柄,您需要先open()

import os
import re


for root, dirs, files in os.walk('/path/to/directory'):
    for filename in files:
        with open(os.path.join(root, filename)) as file:
            for line in file:
                if re.match(b'\x64', line):
                    print filename