Python循環文件推薦的方式,可用於讀取文本最后一行或刪除指定行等


讀取文本最后一行:

f = open('test11.txt', 'rb')

for i in f:
    offset = -16
    while True:
        f.seek(offset, 2)
        data = f.readlines()
        if len(data) > 1:
            print("文件的最后一行是:%s"%(data[-1].decode('gbk')))
            break
        offset *= 2

優點:

使用for i in f是使用一行讀取一行,不會消耗太多的內存,如果使用readlines就會一次性將所有的內容全部讀取出來放在內存當中,會占用較多的內存。

 

刪除文本指定行:

刪除文本指定行也是用的for i in i,找到指定行的關鍵字,將不包括關鍵字的其他行放在生成器中。

將生成器包含的內容重新寫入文件,當然這種效率不是很高(暫時還沒想到更好的方法)

lines = (i for i in open('test11.txt', 'r') if '2019' not in i )
f = open('test33.txt', 'w', encoding="utf-8")
f.writelines(lines)
f.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM