python3的txt文件讀寫


現在我一般都是直接用with open比較保險:

with open("test.txt","r","utf-8") as f:

# 為a+模式時,因為為追加模式,指針已經移到文尾,讀出來的是一個空字符串。ftext

= f.read()# 一次性讀全部成一個字符串ftextlist = f.readlines()# 也是一次性讀全部,但每一行作為一個子句存入一個列表

 

w新建只寫,w+新建讀寫,二者都會將文件內容清零

r讀打開,r+讀寫打開

 

**w+,r+與a+區別:

r+:可讀可寫,若文件不存在,報錯, 進行了覆蓋寫;

w+: 可讀可寫,若文件不存在,創建,進行了清空寫;

a+:可讀可寫但光標在最后面(然后讀到最后面,所以讀到空字符串),若文件不存在,創建,進行了追加寫;

 

下圖為r+模式下的覆蓋寫


 

 

不可讀的打開方式w和a

若不存在會創建新文件的打開方式:a,a+,w,w+

 

 

a 模式不能用來讀,即使用f.read()等會報錯。

 

然后記一下下面幾種方法:

F.read([size]) #size為讀取的長度,以byte為單位 
F.readline([size]) 
#讀一行,如果定義了size,有可能返回的只是一行的一部分 
F.readlines([size]) 
#把文件每一行作為一個list的一個成員,並返回這個list。其實它的內部是通過循環調用readline()來實現的。如果提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。


F.write(str)   # 寫入一句,要換行的話可以加上"\n"
#把str寫到文件中,write()並不會在str后加上一個換行符 
F.writelines(seq)   # 寫入多行
#把seq的內容全部寫到文件中。這個函數也只是忠實地寫入,不會在每行后面加上任何東西。

 

 另:調用seek方法可以把指針指向想要的位置:如 f.seek(0)  #指向開頭


免責聲明!

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



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