Python 指定信息在批量文件中搜索
有时候在几千个文件中,查找某个信息,还不知道这个信息在哪个文件中,这可太折磨了。
于是乎就写了以下代码,能够实现在指定目录下搜索所有文件查找出具有想要搜索信息的文件。
代码如下:
import os
import datetime
class search_mes():
def __init__(self):
self.file_list = []
self.s_mes = '***' # 你要搜索的信息
self.path = r'***' # 你搜索的路径
def getFileName(self):
path_list=os.listdir(self.path)
path_list.sort()
for filename in path_list:
if filename.endswith('.txt'): # 搜索以什么为结尾的文件
self.file_list.append(filename)
self.parse_mes()
def parse_mes(self):
currentpath = os.getcwd()
os.chdir(self.path) # 切换工作路径
for i in range(len(self.file_list)):
with open(self.file_list[i], 'r', encoding='utf-8') as f:
mes = f.read()
if self.s_mes in mes:
print('\n' + self.file_list[i] + '\n')
def main():
start_time = datetime.datetime.now()
op.getFileName()
end_time = datetime.datetime.now()
print('总运行时长为:' , end_time - start_time)
if __name__ == '__main__':
op = search_mes()
main()