Python:TXT文档内容查询(8亿)& python Memory error 解决

早几天在某网站上,发现某公司的一部分数据(8亿)……
想要知道自己在不在里面,于是顺手写了个查询效率很低的工具

这里不提供这些数据哈,免得面向监狱~
仅提供一个查询文档内容的脚本,当然,用来查其他文档也是可以的

import os
import sys
import re

def gorun(pathis,search):
    path = u''+pathis
    filelist = os.listdir(path)  # 该文件夹下所有的文件(包括文件夹)
    result = ''

    num = len(filelist)
    for i in range(0,num):  # 遍历所有文件
        files = str(filelist[i])
        Olddir = os.path.join(path, files)  # 原来的文件路径

        f = open(Olddir)
        thisdata = []  #重指空变量释放内存
        thisdata = f.readlines()
        f.close()
        nums = len(thisdata)
        for a in range(0,nums):
            if search in str(thisdata[a]):
                result = result + str(thisdata[a]) +'\n'
            sys.stdout.write('\r[ === 已检索 [%d/%d] %d%% === [%d/%d] %d%% === ]' % ((i + 1),num, int((i + 1) / num * 100),(a + 1),nums, int((a + 1) / nums * 100)))
    
    if result != '':
        f = open('result.txt', 'w', encoding='utf-8')
        print(result)
        f.write(result)
        f.close()
    else:
        print("未找到相应数据")
pathis = input('请输入所有txt所在文件目录:')
search = input('请输入要查找的内容:')
gorun(pathis,search)

python Memory error 解决
一个比较简单的 Memory error 解决方案
因为python 的内存重新赋值的时候,旧值其实还是占用存储的
所以先赋一个空值,来过度,可以解决部分问题

你可能感兴趣的:(随手脚本,python)