Python打開與讀取文件操作的常用方法
打開與讀取文件
在 Python 中,內(nèi)置了文件(file) 對象。 在使用文件對象時,首先需要通過內(nèi)置的 open0 方法創(chuàng)建一個文件對象,然后通過該對象提供的方法進行基本的文件操作。
open() 函數(shù)的語法格式如下:
file = open(filename[,mode[,buffering]])
其中參數(shù) fle為被創(chuàng)建的文件對象:
- flename 為要創(chuàng)建或打開文件的文件名稱,需要使用單引號或雙引號括起來。 如果要打開的文件和當前文件在同一個目錄下,那么直接寫文件名即可,否則需要指定完整路徑
- mode 為可選參數(shù),用于指定文件的打開模式,默認的打開模式為只讀(即r); buffering 為可選參數(shù),用于指定讀寫文件的緩沖模式,值為0表示不緩存,值為1表示緩存,如果值大于1,則表示緩沖區(qū)的大小。默認值為緩存模式。
在 Python 中打開文件后,可以讀取文件中的內(nèi)容。 文件對象提供了 readline()方法用于每次讀取行數(shù)據(jù)。 readline()方法的語法格式如下:
file.readline()
打開文件后,需要及時關閉,以免對文件造成不必要的破壞。 關閉文件可以使用文件對象的close()方法實現(xiàn)。 close()方法的語法格式如下:
file.close()
文件操作的常用方法
文件讀取操作通常有三種方法:
- read() 方法表示讀取全部或部分內(nèi)容;
- readline()方法表示逐行讀取;
- readlincs()方法表示讀取所有行內(nèi)容。
下面重點介紹 read()方法和readlines()方法。
read()方法
讀取文件的全部或部分內(nèi)容,對于連續(xù)的面向行的讀取,則不使用該方法。語法格式如下:
fp.read([size])
其中,size 為可選參數(shù),用于指定要讀取文件內(nèi)容的字符數(shù)(所有字符均按一個計算,包括漢字),如read(8),表示讀取前8個字符。如果省略,則返回整個文件的內(nèi)容。
注意:使用 read()方法讀取文件內(nèi)容時,如果文件大于可用內(nèi)存,則不能實現(xiàn)文件的讀取,而是返回空字符串。
readlines()方法
返回一個列表,列表中每個元素為文件中的一行數(shù)據(jù),語法如下:
file.readlines()
除了進行文件讀取操作,有時還需要獲取或移動文件指針位置的操作,常用的操作方法有 tell()方法和 seek()方法。
tell()方法
返回一個整數(shù),表示文件指針的當前位置,即在二進制模式下距離文件頭的字節(jié)數(shù),語法如下:
file.tell()
使用 tell()方法返回的位置與為 read() 方法指定的 size 參數(shù)不同。
tell()方法返回的不是字符的個數(shù)而是字節(jié)數(shù),其中漢字所占的字節(jié)數(shù)根據(jù)其采用的編碼有所不同,如果采用GBK 編碼,則一個漢字按兩個字節(jié)計算;如果采用 UTF-8 編碼,則一個漢字按3 個字節(jié)計算。
scck()方法
將文件的指針移動到新的位置,位置通過字節(jié)數(shù)進行指定。這里的數(shù)值與 tell() 方法返回的數(shù)值的計算方法一致。語法如下:
file.seek(offset[ ,whence])
參數(shù)說明:
- file:表示已經(jīng)打開的文件對象。
- offset:用于指定移動的字符個數(shù),其具體位置與 whence 有關
- whence: 用于指定從什么位置開始計算。值為0表示從文件頭開始計算,1表示從當前位置開始計算,2表示從文件尾開始計算,默認為 0。
到此這篇關于Python打開與讀取文件操作的常用方法的文章就介紹到這了,更多相關Python常用文件操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pandas中的ExcelWriter和ExcelFile的實現(xiàn)方法
這篇文章主要介紹了pandas中的ExcelWriter和ExcelFile的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04解決python3.6 右鍵沒有 Edit with IDLE的問題
這篇文章主要介紹了解決python3.6 右鍵沒有 Edit with IDLE的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Pandas計算元素的數(shù)量和頻率的方法(出現(xiàn)的次數(shù))
本文主要介紹了Pandas計算元素的數(shù)量和頻率的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02利用PyQt5模擬實現(xiàn)網(wǎng)頁鼠標移動特效
不知道大家有沒有發(fā)現(xiàn),博客園有些博客左側會有鼠標移動特效。通過移動鼠標,會形成類似蜘蛛網(wǎng)的特效,本文將用PyQt5實現(xiàn)這一特效,需要的可以參考一下2022-03-03解決python 在for循環(huán)并且pop數(shù)組的時候會跳過某些元素的問題
這篇文章主要介紹了解決python 在for循環(huán)并且pop數(shù)組的時候會跳過某些元素的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12