校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > python讀取一個大于10G的txt文件的方法

python讀取一個大于10G的txt文件的方法

熱門標簽:400電話辦理哪種 開封語音外呼系統(tǒng)代理商 天津電話機器人公司 河北防封卡電銷卡 應電話機器人打電話違法嗎 電銷機器人的風險 手機網(wǎng)頁嵌入地圖標注位置 地圖標注線上如何操作 開封自動外呼系統(tǒng)怎么收費

前言

用python 讀取一個大于10G 的文件,自己電腦只有8G內(nèi)存,一運行就報內(nèi)存溢出:MemoryError
python 如何用open函數(shù)讀取大文件呢?

讀取大文件

首先可以自己先制作一個大于10G的txt文件

a = '''
2021-02-02 21:33:31,678 [django.request:93] [base:get_response] [WARNING]- Not Found: /http:/123.125.114.144/
2021-02-02 21:33:31,679 [django.server:124] [basehttp:log_message] [WARNING]- "HEAD http://123.125.114.144/ HTTP/1.1" 404 1678
2021-02-02 22:14:04,121 [django.server:124] [basehttp:log_message] [INFO]- code 400, message Bad request version ('HTTP')
2021-02-02 22:14:04,122 [django.server:124] [basehttp:log_message] [WARNING]- "GET ../../mnt/custom/ProductDefinition HTTP" 400 -
2021-02-02 22:16:21,052 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/login HTTP/1.1" 301 0
2021-02-02 22:16:21,123 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/login/ HTTP/1.1" 200 3876
2021-02-02 22:16:21,192 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/img/main_bg.png HTTP/1.1" 200 2801
2021-02-02 22:16:21,196 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/iconfont/style.css HTTP/1.1" 200 1638
2021-02-02 22:16:21,229 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/img/bg.jpg HTTP/1.1" 200 135990
2021-02-02 22:16:21,307 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/iconfont/fonts/icomoon.ttf?u4m6fy HTTP/1.1" 200 6900
2021-02-02 22:16:23,525 [django.server:124] [basehttp:log_message] [INFO]- "POST /api/login/ HTTP/1.1" 302 0
2021-02-02 22:16:23,618 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/index/ HTTP/1.1" 200 18447
2021-02-02 22:16:23,709 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/js/commons.js HTTP/1.1" 200 13209
2021-02-02 22:16:23,712 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/css/admin.css HTTP/1.1" 200 19660
2021-02-02 22:16:23,712 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/css/common.css HTTP/1.1" 200 1004
2021-02-02 22:16:23,714 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/js/app.js HTTP/1.1" 200 20844
2021-02-02 22:16:26,509 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/report_list/1/ HTTP/1.1" 200 14649
2021-02-02 22:16:51,496 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/test_list/1/ HTTP/1.1" 200 24874
2021-02-02 22:16:51,721 [django.server:124] [basehttp:log_message] [INFO]- "POST /api/add_case/ HTTP/1.1" 200 0
2021-02-02 22:16:59,707 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/test_list/1/ HTTP/1.1" 200 24874
2021-02-03 22:16:59,909 [django.server:124] [basehttp:log_message] [INFO]- "POST /api/add_case/ HTTP/1.1" 200 0
2021-02-03 22:17:01,306 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/edit_case/1/ HTTP/1.1" 200 36504
2021-02-03 22:17:06,265 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/add_project/ HTTP/1.1" 200 17737
2021-02-03 22:17:07,825 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/project_list/1/ HTTP/1.1" 200 29789
2021-02-03 22:17:13,116 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/add_config/ HTTP/1.1" 200 24816
2021-02-03 22:17:19,671 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/config_list/1/ HTTP/1.1" 200 19532
'''
while True:
    with open("xxx.log", "a", encoding="utf-8") as fp:
         fp.write(a)

循環(huán)寫入到 xxx.log 文件,運行 3-5 分鐘,pycharm 打開查看文件大小大于 10G

于是我用open函數(shù) 直接讀取

f = open("xxx.log", 'r')
print(f.read())
f.close()

拋出內(nèi)存溢出異常:MemoryError

Traceback (most recent call last):
File "D:/2021kecheng06/demo/txt.py", line 35, in module>
print(f.read())
MemoryError

運行的時候可以看下自己電腦的內(nèi)存已經(jīng)占了100%, cpu高達91% ,不掛掉才怪了!

這種錯誤的原因在于,read()方法執(zhí)行操作是一次性的都讀入內(nèi)存中,顯然文件大于內(nèi)存就會報錯。

read() 的幾種方法

1.read() 方法可以帶參數(shù) n, n 是每次讀取的大小長度,也就是可以每次讀一部分,這樣就不會導致內(nèi)存溢出

f = open("xxx.log", 'r')
print(f.read(2048))
f.close()

運行結(jié)果

2019-10-24 21:33:31,678 [django.request:93] [base:get_response] [WARNING]- Not Found: /http:/123.125.114.144/
2019-10-24 21:33:31,679 [django.server:124] [basehttp:log_message] [WARNING]- "HEAD http://123.125.114.144/ HTTP/1.1" 404 1678
2019-10-24 22:14:04,121 [django.server:124] [basehttp:log_message] [INFO]- code 400, message Bad request version ('HTTP')
2019-10-24 22:14:04,122 [django.server:124] [basehttp:log_message] [WARNING]- "GET ../../mnt/custom/ProductDefinition HTTP" 400 -
2019-10-24 22:16:21,052 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/login HTTP/1.1" 301 0
2019-10-24 22:16:21,123 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/login/ HTTP/1.1" 200 3876
2019-10-24 22:16:21,192 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/img/main_bg.png HTTP/1.1" 200 2801
2019-10-24 22:16:21,196 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/iconfont/style.css HTTP/1.1" 200 1638
2019-10-24 22:16:21,229 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/img/bg.jpg HTTP/1.1" 200 135990
2019-10-24 22:16:21,307 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/iconfont/fonts/icomoon.ttf?u4m6fy HTTP/1.1" 200 6900
2019-10-24 22:16:23,525 [django.server:124] [basehttp:log_message] [INFO]- "POST /api/login/ HTTP/1.1" 302 0
2019-10-24 22:16:23,618 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/index/ HTTP/1.1" 200 18447
2019-10-24 22:16:23,709 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/js/commons.js HTTP/1.1" 200 13209
2019-10-24 22:16:23,712 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/css/admin.css HTTP/1.1" 200 19660
2019-10-24 22:16:23,712 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/css/common.css HTTP/1.1" 200 1004
2019-10-24 22:16:23,714 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/js/app.js HTTP/1.1" 200 20844
2019-10-24 22:16:26,509 [django.server:124] [basehttp:log_message] [I

這樣就只讀取了2048個字符,全部讀取的話,循環(huán)讀就行

f = open("xxx.log", 'r')
while True:
    block = f.read(2048)
    print(block)
    if not block:
        break
f.close()

2.readline():每次讀取一行,這個方法也不會報錯

f = open("xxx.log", 'r')

while True:
    line = f.readline()
    print(line, end="")
    if not line:
        break
f.close()

3.readlines():讀取全部的行,生成一個list,通過list來對文件進行處理,顯然這種方式依然會造成:MemoyError

真正 Pythonic 的方法

真正 Pythonci 的方法,使用 with 結(jié)構(gòu)打開文件,fp 是一個可迭代對象,可以用 for 遍歷讀取每行的文件內(nèi)容

with open("xxx.log", 'r') as fp:
    for line in fp:
        print(line, end="")

yield 生成器讀取大文件

前面一篇講yield 生成器的時候提到讀取大文件,函數(shù)返回一個可迭代對象,用next()方法讀取文件內(nèi)容

def read_file(fpath):
    BLOCK_SIZE = 1024
    with open(fpath, 'rb') as f:
        while True:
            block = f.read(BLOCK_SIZE)
            if block:
                yield block
            else:
                return
if __name__ == '__main__':
    a = read_file("xxx.log")
    print(a)            # generator objec
    print(next(a))      # bytes類型
    print(next(a).decode("utf-8"))   # str

運行結(jié)果

generator object read_file at 0x00000226B3005258>
b'\r\n2019-10-24 21:33:31,678 [django.request:93] [base:get_response] [WARNING]- Not Found: /http:/123.125.114.144/\r\n2019-10-24 21:33:31,679 [django.server:124] [basehttp:log_message] [WARNING]- "HEAD http://123.125.114.144/ HTTP/1.1" 404 1678\r\n2019-10-24 22:14:04,121 [django.server:124] [basehttp:log_message] [INFO]- code 400, message Bad request version (\'HTTP')\r\n2019-10-24 22:14:04,122 [django.server:124] [basehttp:log_message] [WARNING]- "GET ../../mnt/custom/ProductDefinition HTTP" 400 -\r\n2019-10-24 22:16:21,052 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/login HTTP/1.1" 301 0\r\n2019-10-24 22:16:21,123 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/login/ HTTP/1.1" 200 3876\r\n2019-10-24 22:16:21,192 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/img/main_bg.png HTTP/1.1" 200 2801\r\n2019-10-24 22:16:21,196 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/iconfont/style.css HTTP/1.1" 200 1638\r\n2019-10-24 22:16:21,229 [django.server:124] '
[basehttp:log_message] [INFO]- "GET /static/assets/img/bg.jpg HTTP/1.1" 200 135990
2019-10-24 22:16:21,307 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/iconfont/fonts/icomoon.ttf?u4m6fy HTTP/1.1" 200 6900
2019-10-24 22:16:23,525 [django.server:124] [basehttp:log_message] [INFO]- "POST /api/login/ HTTP/1.1" 302 0
2019-10-24 22:16:23,618 [django.server:124] [basehttp:log_message] [INFO]- "GET /api/index/ HTTP/1.1" 200 18447
2019-10-24 22:16:23,709 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/js/commons.js HTTP/1.1" 200 13209
2019-10-24 22:16:23,712 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/css/admin.css HTTP/1.1" 200 19660
2019-10-24 22:16:23,712 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/css/common.css HTTP/1.1" 200 1004
2019-10-24 22:16:23,714 [django.server:124] [basehttp:log_message] [INFO]- "GET /static/assets/js/app.js HTTP/1.1" 200 20844
2019-10-24 22:16:26,509 [django.server:124] [basehtt

到此這篇關(guān)于python讀取一個大于10G的txt文件的方法的文章就介紹到這了,更多相關(guān)python讀取大于10G文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 解決python 讀取npy文件太大不能完全顯示的問題
  • 簡單了解Python讀取大文件代碼實例
  • 強悍的Python讀取大文件的解決方案
  • python實現(xiàn)讀取大文件并逐行寫入另外一個文件
  • 使用Python讀取大文件的方法
  • python簡單讀取大文件的方法
  • Python多進程分塊讀取超大文件的方法

標簽:駐馬店 山東 蘭州 成都 宿遷 常州 六盤水 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python讀取一個大于10G的txt文件的方法》,本文關(guān)鍵詞  python,讀取,一個,大于,10G,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python讀取一個大于10G的txt文件的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于python讀取一個大于10G的txt文件的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美电视剧在线看免费| 成人国产在线观看| 蜜桃一区二区三区在线| 欧美疯狂性受xxxxx喷水图片| 日韩一区有码在线| 亚洲免费资源在线播放| 色综合久久天天| 一区二区三区在线观看国产| 一本久道久久综合中文字幕| 91在线观看视频| 日韩成人av影视| 欧美日韩一区二区欧美激情| 蜜乳av一区二区三区| 日本网站在线观看一区二区三区| 日韩高清在线不卡| 激情图区综合网| 亚洲老妇xxxxxx| 欧美va天堂va视频va在线| 9久草视频在线视频精品| 日本强好片久久久久久aaa| 裸体在线国模精品偷拍| 国产精品一区二区久久不卡| 天堂成人国产精品一区| 国产欧美日韩在线| 欧美人体做爰大胆视频| 91最新地址在线播放| 久久99国产精品久久99果冻传媒| 亚洲狠狠丁香婷婷综合久久久| 亚洲高清在线视频| 国产亚洲综合在线| 欧美日本国产一区| 久久综合网色—综合色88| 乱一区二区av| 韩国女主播成人在线| 国产成人免费在线| 美日韩一区二区| 成人丝袜高跟foot| 国产精品99久久久久久宅男| 91麻豆国产福利在线观看| 欧美一卡2卡3卡4卡| 欧美在线高清视频| 色哟哟一区二区在线观看| 91精品一区二区三区久久久久久| 91成人在线观看喷潮| 91美女片黄在线观看| 欧美mv和日韩mv国产网站| 亚洲少妇最新在线视频| 中文字幕一区二区三区在线观看| 日本大胆欧美人术艺术动态| 99视频有精品| 久久综合999| 婷婷激情综合网| 看片的网站亚洲| 欧美日韩亚洲不卡| 亚洲欧洲三级电影| 国产91丝袜在线18| jiyouzz国产精品久久| 日韩精品中文字幕一区| 亚洲国产精品一区二区www在线| 国产麻豆精品在线| 成人av在线资源网| 久久青草欧美一区二区三区| 亚洲国产精品ⅴa在线观看| 大桥未久av一区二区三区中文| 久久麻豆一区二区| 亚洲大型综合色站| √…a在线天堂一区| 久久超碰97人人做人人爱| 欧美精品一卡二卡| 亚洲二区在线视频| 欧美无砖砖区免费| 在线播放视频一区| 亚洲国产裸拍裸体视频在线观看乱了| 成人av综合一区| 国产欧美一区二区三区沐欲| 韩日欧美一区二区三区| 欧美不卡一区二区三区| 久久精品国产精品亚洲红杏| 欧美一区二区三区色| 五月婷婷综合激情| 91麻豆精品国产91| 美脚の诱脚舐め脚责91| 欧美一级久久久久久久大片| 欧美成人a在线| 久久精品久久精品| 欧美成人精品福利| 国产美女精品在线| 国产精品美女www爽爽爽| 亚洲bt欧美bt精品| 欧美一区二区三区人| 麻豆成人久久精品二区三区红| 日韩欧美国产综合一区| 国产一区二区在线观看视频| 国产精品天美传媒| 色悠悠久久综合| 日本网站在线观看一区二区三区| 精品国产乱子伦一区| 亚洲一区二区三区爽爽爽爽爽| 国产一区二区在线视频| 1024国产精品| 欧美精品99久久久**| 国内外成人在线| 亚洲欧美另类久久久精品| 欧美日韩国产综合一区二区三区| 久久99精品国产麻豆婷婷| 国产欧美日本一区视频| 欧美午夜片在线观看| 乱中年女人伦av一区二区| 一区二区中文视频| 欧美男生操女生| 国产**成人网毛片九色| 亚洲成人免费在线观看| 久久众筹精品私拍模特| 欧美亚洲免费在线一区| 国产精品资源站在线| 亚洲小说春色综合另类电影| 久久久欧美精品sm网站| 91豆麻精品91久久久久久| 激情久久五月天| 一区二区三区在线视频观看58| 日韩午夜av电影| 91在线一区二区| 国产综合色产在线精品| 亚洲国产欧美日韩另类综合| 久久久久久久久久久久久夜| 欧美专区在线观看一区| 国产精品综合视频| 奇米精品一区二区三区在线观看 | 欧美日韩一级二级| 国产精品自拍一区| 日韩成人免费看| 国产不卡免费视频| 成人免费黄色在线| 成人精品视频一区二区三区尤物| 国内久久婷婷综合| 国产亚洲精品超碰| 成人涩涩免费视频| 中文字幕欧美日韩一区| 久久久电影一区二区三区| 视频在线在亚洲| 亚洲国产精品精华液ab| 丁香一区二区三区| 久久99国内精品| 欧美变态tickle挠乳网站| 国产精品一区二区三区99| 午夜国产不卡在线观看视频| 3atv一区二区三区| 奇米一区二区三区av| 国产欧美日韩另类视频免费观看| 欧美精选午夜久久久乱码6080| 亚洲激情六月丁香| 国产精品高潮久久久久无| 美国毛片一区二区| 肉色丝袜一区二区| 有码一区二区三区| 亚洲精品视频在线观看网站| 亚洲精品免费一二三区| 亚洲女同女同女同女同女同69| 亚洲三级在线播放| 亚洲伦理在线免费看| 一区二区三区在线不卡| 亚洲精品成人a在线观看| 一区二区在线看| 婷婷中文字幕一区三区| 免费看日韩精品| 国产一区二区三区四| 粉嫩久久99精品久久久久久夜| 国产成人在线看| 99久久婷婷国产精品综合| 99久久久免费精品国产一区二区| 99久久精品一区二区| 欧美亚一区二区| 91精品国产免费| 久久精品一区二区三区不卡牛牛| 国产精品欧美久久久久一区二区| 最新国产成人在线观看| 亚洲高清中文字幕| 激情小说亚洲一区| hitomi一区二区三区精品| 色域天天综合网| 欧美电影免费观看完整版| 国产欧美精品一区aⅴ影院 | 欧美韩日一区二区三区四区| 亚洲国产成人自拍| 亚洲五月六月丁香激情| 中文无字幕一区二区三区 | 亚洲欧美电影一区二区| 亚洲国产aⅴ成人精品无吗| 中文字幕免费不卡在线| 亚洲成人tv网| 精品日韩在线一区| 欧美不卡在线视频| 亚洲人精品一区| 卡一卡二国产精品| 91亚洲男人天堂| 精品国产伦一区二区三区免费| 亚洲另类在线视频| 国产精品99久久久久久久女警| 成人午夜免费视频| 欧美tk—视频vk|