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
当我在文件内容的每一行内搜索时,会打印回来吗?
答案 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