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

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

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

2019-11-25 15:58:38
字體:
來(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()

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 秦安县| 襄汾县| 龙泉市| 临夏县| 娱乐| 闽清县| 林甸县| 吉水县| 虎林市| 望奎县| 柳河县| 临高县| 象州县| 河源市| 察隅县| 锦屏县| 宜宾市| 元谋县| 北安市| 泽州县| 临清市| 永年县| 武宣县| 鹤壁市| 青神县| 彰化市| 建宁县| 丹巴县| 丘北县| 耒阳市| 海淀区| 天津市| 新邵县| 全南县| 兴和县| 西昌市| 武定县| 县级市| 沂源县| 嘉祥县| 益阳市|