只讀檔案可以列印嗎
在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟一個檔案物件,然後,透過作業系統提供的介面從這個檔案物件中讀取資料,或者把資料寫入這個檔案物件。
python檔案操作的一般步驟是:開啟檔案,讀取檔案/寫入檔案,關閉檔案三部分
python的開啟檔案操作:
python開啟檔案使用open函式,open函式可以接受兩個引數,第一個引數是檔案的路徑,第二個引數是檔案開啟的模式
檔案開啟模式有以下幾種,這些模式還可以組合使用:
如以只讀模式開啟一個檔案物件可以這樣寫:
檔案的關閉操作:
python的關閉操作很簡單,是用的是close()函式
python的讀檔案操作:
讀檔案操作是檔案操作指標根據讀取長度前移進行資料讀取的,常用的函式有:
read([size])
# size為讀取的長度,以byte為單位
呼叫read()會一次性讀取檔案的全部內容,有時候檔案很大,一次性讀取全部記憶體就爆了,所以,要保險起見,可以迴圈呼叫read(size)方法,每次最多讀取size個位元組的內容:
readline([size])
# 讀一行,如果定義了size,有可能返回的只是一行的一部分
每次一行,迴圈讀取,直到檔案末尾
readlines([size])
# 把檔案每一行作為一個list的一個成員,並返回這個list。其實它的內部是透過迴圈呼叫readline()來實現的。如果提供size引數,size是表示讀取內容的總長,也就是說可能只讀到檔案的一部分。
打印出來的內容是這樣子:
Python的寫操作:
python的寫入操作時,需要使用寫、讀寫或者追加的模式開啟檔案
write(str)
# 把str寫到檔案中,write()並不會在str後加上一個換行符
writelines(list)
# 把list的內容全部寫到檔案中(多行一次性寫入)。這個函式也只是忠實地寫入,不會在每行後面加上任何東西。
除了前面說的方法,檔案物件還有一些其它的屬性和方法: