国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python中read()、readline()和readlines()三者間的區(qū)別和用法

2020-02-16 01:58:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

眾所周知在python中讀取文件常用的三種方法:read(),readline(),readlines(),今天看項(xiàng)目是又忘記他們的區(qū)別了。以前看書的時(shí)候覺(jué)得這東西很簡(jiǎn)單,一眼掃過(guò),待到用時(shí)卻也只知道有這么幾個(gè)方法,不懂得它的原理與用法。也許吧,沒(méi)有永遠(yuǎn)的記憶,況且根本沒(méi)有用心去記它。話不多說(shuō),來(lái)一起看看詳細(xì)的介紹:

準(zhǔn)備

假設(shè)a.txt的內(nèi)容如下所示:

HelloWelcomeWhat is the fuck...

一、read([size])方法

read([size])方法從文件當(dāng)前位置起讀取size個(gè)字節(jié),若無(wú)參數(shù)size,則表示讀取至文件結(jié)束為止,它范圍為字符串對(duì)象

f = open("a.txt")lines = f.read()print linesprint(type(lines))f.close()

輸出結(jié)果:

HelloWelcomeWhat is the fuck...<type 'str'> #字符串類型

二、readline()方法

從字面意思可以看出,該方法每次讀出一行內(nèi)容,所以,讀取時(shí)占用內(nèi)存小,比較適合大文件,該方法返回一個(gè)字符串對(duì)象。

f = open("a.txt")line = f.readline()print(type(line))while line: print line, line = f.readline()f.close()

輸出結(jié)果:

<type 'str'>HelloWelcomeWhat is the fuck...

三、readlines()方法讀取整個(gè)文件所有行,保存在一個(gè)列表(list)變量中,每行作為一個(gè)元素,但讀取大文件會(huì)比較占內(nèi)存。

f = open("a.txt")lines = f.readlines()print(type(lines))for line in lines: print line,f.close()

輸出結(jié)果:

<type 'list'>HelloWelcomeWhat is the fuck...

四、linecache模塊

當(dāng)然,有特殊需求還可以用linecache模塊,比如你要輸出某個(gè)文件的第n行:

# 輸出第2行text = linecache.getline(‘a(chǎn).txt',2)print text,

對(duì)于大文件效率還可以。

下面是其他網(wǎng)友的補(bǔ)充

"""1、讀取文件的三個(gè)方法:read()、readline()、readlines()2、三個(gè)方法均可接受一個(gè)變量用以限制每次讀取的數(shù)據(jù)量,通常不使用該變量。""""""關(guān)于read()方法:1、讀取整個(gè)文件,將文件內(nèi)容放到一個(gè)字符串變量中2、如果文件大于可用內(nèi)存,不可能使用這種處理"""file_object = open("test.py",'r') #創(chuàng)建一個(gè)文件對(duì)象,也是一個(gè)可迭代對(duì)象try:  all_the_text = file_object.read() #結(jié)果為str類型  print type(all_the_text)  print "all_the_text=",all_the_textfinally:  file_object.close()"""關(guān)于readline()方法:1、readline()每次讀取一行,比readlines()慢得多2、readline()返回的是一個(gè)字符串對(duì)象,保存當(dāng)前行的內(nèi)容"""file_object1 = open("test.py",'r')try: while True:   line = file_object1.readline()   if line:     print "line=",line   else:     breakfinally:  file_object1.close()"""關(guān)于readlines()方法:1、一次性讀取整個(gè)文件。2、自動(dòng)將文件內(nèi)容分析成一個(gè)行的列表。"""file_object2 = open("test.py",'r')try: lines = file_object2.readlines() print "type(lines)=",type(lines) #type(lines)= <type 'list'> for line in lines:   print "line=",line finally:  file_object2.close()            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 金阳县| 溆浦县| 玛曲县| 保靖县| 新营市| 新宾| 莲花县| 嘉黎县| 温宿县| 万安县| 高台县| 鹿泉市| 丰镇市| 阳新县| 浮梁县| 玛沁县| 永康市| 视频| 定日县| 大竹县| 湾仔区| 商河县| 连南| 和顺县| 大石桥市| 崇文区| 内乡县| 宁夏| 静安区| 乡城县| 昆山市| 桐城市| 屏山县| 河源市| 谷城县| 连平县| 成都市| 高要市| 平度市| 温泉县| 麻栗坡县|