python學習-linecache快速獲取文本內容

獲取文本內容的方法
  • 方法一:使用open()內置函數
  • 方法二:引用linecache包
文件tmp.txt內容如下
Paste_Image.png
方法1.使用open()內置函數
    import time
    t1 = time.time()
file = open('tmp.txt','r')
content = file.read()
file.close()
lines = [x[1:-2].split('","') for x in content.split('\n')]
print(lines)
    t2 = time.time()
    print("用時 :%s" %(t2-t1))

執行結果:

[['ebc', 'acd', 'yde', 'cgd', 'by222'], ['cbc', 'ccd', 'hde', 'chd', 'by2p'], ['dbc', 'ecd', 'fde', 'cd4', 'b1yp'], ['cbc', 'ccd', 'hde', 'chd', 'by2p'], ['dbc', 'ecd', 'fde', 'cd4', 'b1yp'], ['ebc', 'acd', 'yde', 'cgd', 'by222'], ['cbc', 'ccd', 'hde', 'chd', 'by2p'], ['dbc', 'ecd', 'fde', 'cd4', 'b1yp'], ['ebc', 'acd', 'yde', 'cgd', 'by222'], ['cbc', 'ccd', 'hde', 'chd', 'by2p'], ['dbc', 'ecd', 'fde', 'cd4', 'b1yp'], ['ebc', 'acd', 'yde', 'cgd', 'by222'], ['cbc', 'ccd', 'hde', 'chd', 'by2p'], ['dbc', 'ecd', 'fde', 'cd4', 'b1yp'], ['ebc', 'acd', 'yde', 'cgd', 'by222'], ['']]
用時:0.0026924610137939453
方法2.引用linecache包
import linecache
    import time
    t1 = time.time()
f = linecache.getlines('tmp.txt')
# for x in f:
#   lines.append(x[1:-2].split('","'))
lines = [x[1:-2].split('","') for x in f]
print(lines)
    t2 = time.time()
    print("用時 :%s" %(t2-t1))

執行結果:

[['ebc', 'acd', 'yde', 'cgd', 'by2222'], ['cbc', 'ccd', 'hde', 'chd', 'by2pp'], ['dbc', 'ecd', 'fde', 'cd4', 'b1ypp'], ['cbc', 'ccd', 'hde', 'chd', 'by2pp'], ['dbc', 'ecd', 'fde', 'cd4', 'b1ypp'], ['ebc', 'acd', 'yde', 'cgd', 'by2222'], ['cbc', 'ccd', 'hde', 'chd', 'by2pp'], ['dbc', 'ecd', 'fde', 'cd4', 'b1ypp'], ['ebc', 'acd', 'yde', 'cgd', 'by2222'], ['cbc', 'ccd', 'hde', 'chd', 'by2pp'], ['dbc', 'ecd', 'fde', 'cd4', 'b1ypp'], ['ebc', 'acd', 'yde', 'cgd', 'by2222'], ['cbc', 'ccd', 'hde', 'chd', 'by2pp'], ['dbc', 'ecd', 'fde', 'cd4', 'b1ypp'], ['ebc', 'acd', 'yde', 'cgd', 'by2222']]
用時:0.001079559326171875
可見由linecache包能更快獲取文本內容
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容