python逐行讀取文本


一、使用open打開文件后一定要記得調用文件對象的close()方法。比如可以用try/finally語句來確保最后能關閉文件。

二、需要導入import os

三、下面是逐行讀取文件內容的三種方法:

1、第一種方法:

[python] view plain copy

  

f = open("foo.txt")               # 返回一個文件對象   
line = f.readline()               # 調用文件的 readline()方法   
while line:   
    print line,                   # 后面跟 ',' 將忽略換行符   
    #print(line, end = '')       # 在 Python 3 中使用   
    line = f.readline()   
   
f.close()

 


2、第二種方法:
  與第3種方法對比, 並非一次性將全部的文件內容載入到內存里,而是在迭代的時候,循環到哪一行才將哪一行讀入內存。這里涉及到一個新的概念-迭代器。
  第二種方法是文本文件讀取的最佳選擇,它簡單,且對任意大小的文件都有效,因為他不會一次性把整個文件都載入到內存里,相反第三種方法存在內存壓力過大的問題。
for line in open("foo.txt"):   
    print line,    

 


3、第三種方法:
  
f = open("c:\\1.txt","r")   
lines = f.readlines()      #讀取全部內容 ,並以列表方式返回  
for line in lines   
    print line 

 

四、一次性讀取整個文件內容:

 

  

file_object = open('thefile.txt')  
try:  
     all_the_text = file_object.read()  
finally:  
     file_object.close()

 


五、區別對待讀取文本 和 二進制:

1、如果是讀取文本

  
    讀文本文件  
    input = open('data', 'r')  
    #第二個參數默認為r  
    input = open('data')  

 


2、如果是讀取二進制
 
  
input = open('data', 'rb')  

 

 讀固定字節

 

chunk = input.read(100)

 


 



 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM