您好,登錄后才能下訂單哦!
python中讀取文件的三種方法read(),readline(),readlines()
測試文件tb.txt文件的內容:
Oracle
PostgreSQL
read
返回的是字符串類型,默認讀取文件的全部內容;
file1 = open('tb.txt', 'r') content = file1.read() file1.close print(content) print(type(content)) 輸出結果: Oracle MySQL PostgreSQL Redis MongoDB <type 'str'>
readline
返回的是字符串類型,默認每次只加載讀取一行;
file1 = open('tb.txt', 'r') content1 = file1.readline() file1.close print(type(content1)) print(content1) 輸出結果: <type 'str'> Oracle
from __future__ import print_function file1 = open('tb.txt', 'r') content = file1.readline() print(type(content)) while content: print(content, end='') content = file1.readline() file1.close 輸出結果: <type 'str'> Oracle MySQL PostgreSQL Redis MongoDB
readlines
返回的是list類型,默認返回的是文件中全部內容;
file1 = open('tb.txt', 'r') content = file1.readlines() file1.close print(type(content)) print(content) 輸出結果: <type 'list'> ['Oracle\n', 'MySQL\n', 'PostgreSQL\n', 'Redis\n', 'MongoDB']
linecache.getline
返回的是list類型,指定返回某一行;
import linecache content = linecache.getline('tb.txt', 4) print(type(content)) print(content) 輸出結果: <type 'str'> Redis
總結
read和readlines需要把整個大文件加載到內存中,所以操作大文件比較慢;
而readline是每次只加載一行,占用內存小,所以操作大文件的時候比較快;
linecache.getline可以指定操作的行,效率也還可以;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。