Python打開與讀取文件操作的常用方法
打開與讀取文件
在 Python 中,內置了文件(file) 對象。 在使用文件對象時,首先需要通過內置的 open0 方法創(chuàng)建一個文件對象,然后通過該對象提供的方法進行基本的文件操作。
open() 函數的語法格式如下:
file = open(filename[,mode[,buffering]])
其中參數 fle為被創(chuàng)建的文件對象:
- flename 為要創(chuàng)建或打開文件的文件名稱,需要使用單引號或雙引號括起來。 如果要打開的文件和當前文件在同一個目錄下,那么直接寫文件名即可,否則需要指定完整路徑
- mode 為可選參數,用于指定文件的打開模式,默認的打開模式為只讀(即r); buffering 為可選參數,用于指定讀寫文件的緩沖模式,值為0表示不緩存,值為1表示緩存,如果值大于1,則表示緩沖區(qū)的大小。默認值為緩存模式。

在 Python 中打開文件后,可以讀取文件中的內容。 文件對象提供了 readline()方法用于每次讀取行數據。 readline()方法的語法格式如下:
file.readline()
打開文件后,需要及時關閉,以免對文件造成不必要的破壞。 關閉文件可以使用文件對象的close()方法實現。 close()方法的語法格式如下:
file.close()
文件操作的常用方法
文件讀取操作通常有三種方法:
- read() 方法表示讀取全部或部分內容;
- readline()方法表示逐行讀取;
- readlincs()方法表示讀取所有行內容。
下面重點介紹 read()方法和readlines()方法。
read()方法
讀取文件的全部或部分內容,對于連續(xù)的面向行的讀取,則不使用該方法。語法格式如下:
fp.read([size])
其中,size 為可選參數,用于指定要讀取文件內容的字符數(所有字符均按一個計算,包括漢字),如read(8),表示讀取前8個字符。如果省略,則返回整個文件的內容。
注意:使用 read()方法讀取文件內容時,如果文件大于可用內存,則不能實現文件的讀取,而是返回空字符串。
readlines()方法
返回一個列表,列表中每個元素為文件中的一行數據,語法如下:
file.readlines()
除了進行文件讀取操作,有時還需要獲取或移動文件指針位置的操作,常用的操作方法有 tell()方法和 seek()方法。
tell()方法
返回一個整數,表示文件指針的當前位置,即在二進制模式下距離文件頭的字節(jié)數,語法如下:
file.tell()
使用 tell()方法返回的位置與為 read() 方法指定的 size 參數不同。
tell()方法返回的不是字符的個數而是字節(jié)數,其中漢字所占的字節(jié)數根據其采用的編碼有所不同,如果采用GBK 編碼,則一個漢字按兩個字節(jié)計算;如果采用 UTF-8 編碼,則一個漢字按3 個字節(jié)計算。
scck()方法
將文件的指針移動到新的位置,位置通過字節(jié)數進行指定。這里的數值與 tell() 方法返回的數值的計算方法一致。語法如下:
file.seek(offset[ ,whence])
參數說明:
- file:表示已經打開的文件對象。
- offset:用于指定移動的字符個數,其具體位置與 whence 有關
- whence: 用于指定從什么位置開始計算。值為0表示從文件頭開始計算,1表示從當前位置開始計算,2表示從文件尾開始計算,默認為 0。
到此這篇關于Python打開與讀取文件操作的常用方法的文章就介紹到這了,更多相關Python常用文件操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pandas中的ExcelWriter和ExcelFile的實現方法
這篇文章主要介紹了pandas中的ExcelWriter和ExcelFile的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
解決python3.6 右鍵沒有 Edit with IDLE的問題
這篇文章主要介紹了解決python3.6 右鍵沒有 Edit with IDLE的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
解決python 在for循環(huán)并且pop數組的時候會跳過某些元素的問題
這篇文章主要介紹了解決python 在for循環(huán)并且pop數組的時候會跳過某些元素的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12

