readlinespython
① python 為什麼用read可以顯示中文,但用readlines就不行呢
首先你要明白read 與readlines的區別。。。read簡單點講就是把你的文件內容全部一下都讀取出來。而readlines 是把文件的所有行信息都讀出來。通常我們使用readlines的時候 都會跟上 for x in X.readlines 這樣x是每一個行的信息。
readlines是個集合,在python2.X 版本中所有的集合里的中文會顯示成 u/u12這種方式。這是正常的。
② Python按行讀取文件的簡單實現方法
Python按行讀取文件的簡單實現方法
下面小編就為大家帶來一篇Python按行讀取文件的簡單實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。
1:readline()
file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do something
file.close()
一行一行得從文件讀數據,顯然比較慢;
不過很省內存;
測試讀10M的sample.txt文件,每秒大約讀32000行;
2:fileinput
import fileinput
for line in fileinput.input("sample.txt"):
pass
寫法簡單一些,不過測試以後發現每秒只能讀13000行數據,效率比上一種方法慢了兩倍多;
3:readlines()
file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()
用同樣的數據測試,它每秒可以讀96900行數據!效率是第一種方法的3倍,第二種方法的7倍!
4:文件迭代器
每次只讀取和顯示一行,讀取大文件時應該這樣:
file = open("sample.txt")
for line in file:
pass # do something
file.close()
以上就是小編為大家帶來的Python按行讀取文件的簡單實現方法全部內容了
③ Python中read,readline和readlines三者間的區別和用法
這篇文章主要給大家介紹了關於Python中讀取文件的read()、readline()和readlines()方法三者間的區別和用法,需要的朋友可以參考下
前言
眾所周知在python中讀取文件常用的三種方法:read(),readline(),readlines(),今天看項目是又忘記他們的區別了。以前看書的時候覺得這東西很簡單,一眼掃過,待到用時卻也只知道有這么幾個方法,不懂得它的原理與用法。也許吧,沒有永遠的記憶,況且根本沒有用心去記它。話不多說,來一起看看詳細的介紹:
准備
假設a.txt的內容如下所示:
Hello
Welcome
What is the fuck...
一、read([size])方法
read([size])方法從文件當前位置起讀取size個位元組,若無參數size,則表示讀取至文件結束為止,它范圍為字元串對象
f = open("a.txt")
lines = f.read()
print lines
print(type(lines))
f.close()
輸出結果:
Hello
Welcome
What is the fuck...
<type 'str'> #字元串類型
二、readline()方法
從字面意思可以看出,該方法每次讀出一行內容,所以,讀取時佔用內存小,比較適合大文件,該方法返回一個字元串對象。
f = open("a.txt")
line = f.readline()
print(type(line))
while line:
print line,
line = f.readline()
f.close()
輸出結果:
<type 'str'>
Hello
Welcome
What is the fuck...
三、readlines()方法讀取整個文件所有行,保存在一個列表(list)變數中,每行作為一個元素,但讀取大文件會比較占內存。
f = open("a.txt")
lines = f.readlines()
print(type(lines))
for line in lines:
print line,
f.close()
輸出結果:
<type 'list'>
Hello
Welcome
What is the fuck...
四、linecache模塊
當然,有特殊需求還可以用linecache模塊,比如你要輸出某個文件的第n行:
# 輸出第2行
text = linecache.getline(『a.txt',2)
print text,
對於大文件效率還可以。
④ Python讀取文件內容的方法有幾種
filename=open('i:\\install\\test.txt','r+')#讀取xx路徑xx文件;r+代表的是讀寫並存方式 print filename.read()#讀取所有的文件
⑤ python 中readline 和readlines的區別
讀取文件的時候是通過文件指針來實現的,指針掃過位置的數據被讀取。
readline是讀一行數據,就是指針就到第一個"\n"就結束了,所以只能讀一行數據,如果再次調用這個函數,就是下一行,以此類推,readline(n),可以加參數,n是文件指針的位置,返回當前行的指針位置之前的數據;
readlines是把所有數據都讀出來,返回一個列表對象,列表裡是每一行的數據;
⑥ python中read,readline和readlines的區別
read 讀取整個文件
readline 讀取下一行
readlines 讀取整個文件到一個迭代器以供遍歷(讀取到一個list中,以供使用,比較方便)
⑦ python中read() ,readline()以及readlines()區別
該篇文章主要是記錄python中操作文件的三個函數read(),readline()以及readlines()之間的擾或弊區別。
首先先給出結論:
1.read() 每次讀取整個文件,它通常將讀取到底文件內容放到一個字元串變數中,也就是說 .read() 生成文件內容是一個字元串類型。
2.readline()每團散只讀取文件的一行,通常也是讀取到的一行內容放到一個字元串變數中,返回str類型。
3.readlines()每次按行讀取整個文件內容,將讀取到的內容放到緩族一個列表中,返回list類型。
我的文件內容如下:
編寫程序如下:
得出結果如下:
編寫程序如下:
得出輸出結果如下:
編寫程序如下:
得到輸出結果如下:
⑧ python 中readline 和readlines的區別
【轉自:】
我們談到「文本處理」時,我們通常是指處理的內容。Python
將文本文件的內容讀入可以操作的字元串變數非常容易。文件對象提供了三個「讀」方法: .read()、.readline() 和
.readlines()。每種方法可以接受一個變數以限制每次讀取的數據量,但它們通常不使用變數。 .read()
每次讀取整個文件,它通常用於將文件內容放到一個字元串變數中。然而 .read()
生成文件內容最直接的字元串表示,但對於連續的面向行的處理,它卻是不必要的,並且如果文件大於可用內存,則不可能實現這種處理。
.readline() 和 .readlines() 非常相似。它們都在類似於以下的結構中使用:
Python .readlines() 示例
fh = open('c:\\autoexec.bat')
for line in fh.readlines():
print line
.readline() 和 .readlines() 之間的差異是後者一次讀取整個文件,象 .read() 一樣。.readlines()
自動將文件內容分析成一個行的列表,該列表可以由 Python 的 for ... in ... 結構進行處理。另一方面,.readline()
每次只讀取一行,通常比 .readlines() 慢得多。僅當沒有足夠內存可以一次讀取整個文件時,才應該使用 .readline()。
⑨ python中readline()怎麼用,還有readline和readlines,read的區別和用法
python中readline()是用來讀取文本文件中的一行。
readline和readlines,read都是用來讀取文件內容,readline()每次讀取一行,當前位置移到下一行;readlines()讀取整個文件所有行,保存在一個列表(list)變數中,每行作為一個元素;read(size)從文件當前位置起讀取size個位元組(如果文件結束,就讀取到文件結束為止),如果size是負值或省略,讀取到文件結束為止,返回結果是一個字元串。
f=open("myfile")
while True:
line=f.readline()
if line:
print line,
else:
break
f=open("myfile")
lines=f.readline() #lines是一個列表變數
f=open("myfile")
lines=f.read() #lines是一個字元串變數