更新時(shí)間:2021-03-18 來源:黑馬程序員 瀏覽量:
在文件的一次打開與關(guān)閉之間進(jìn)行的讀寫操作都是連續(xù)的,程序總是從上次讀寫的位置繼續(xù)向下進(jìn)行讀寫操作。實(shí)際上,每個(gè)文件對(duì)象都有一個(gè)稱為“文件讀寫位置”的屬性,該屬性用于記錄文件當(dāng)前讀寫的位置。
Python提供用于獲取文件讀寫位置以及修改文件讀寫位置的方法tell()方法與seek()方法。下面對(duì)這兩個(gè)方法的使用進(jìn)行介紹。
1.tell()方法
tell()方法用于獲取當(dāng)前文件讀寫的位置,其語法格式如下:
txt_data.tell()以文件txt_file.txt中的內(nèi)容為例,使用tell()方法獲取當(dāng)前文件讀取的位置,示例代碼如下:
file = open('txt_file.txt', mode='r', encoding='utf-8') print(file.read(7)) # 讀取7個(gè)字節(jié) print(file.tell()) # 輸出文件讀取位置
上述代碼使用read()方法讀取7個(gè)字節(jié)的數(shù)據(jù),然后通過tell()方法查看當(dāng)前文件的讀寫位置。
運(yùn)行代碼,結(jié)果如下所示:
Life is 7
2. seek()方法
seek()方法用于設(shè)置當(dāng)前文件讀寫位置,其語法格式如下:
txt_data.seek(offset, from)
seek()方法的參數(shù)offset表示偏移量,即讀寫位置需要移動(dòng)的字節(jié)數(shù);from參數(shù)用于指定文件的讀寫位置,該參數(shù)的取值有:0、1、2,它們代表的含義分別如下:
0:表示在開始位置讀寫;
1:表示在當(dāng)前位置讀寫;
2:表示在末尾位置讀寫。
以讀取文件txt_file.txt的內(nèi)容為例,使用seek()方法修改讀寫位置,示例代碼如下。
file = open('txt_file.txt', mode='r',encoding='utf-8') file.seek(15, 0) print(file.read()) file.close()
上述代碼使用seek()方法將文件讀取位置移動(dòng)至開始位置偏移15個(gè)字節(jié),然后使用read()方法讀取txt_file.txt中的數(shù)據(jù)。
運(yùn)行代碼,結(jié)果如下所示:
use Python. Hello Python.Hello world python程序開發(fā)
猜你喜歡:
Python web開發(fā)框架Zope有什么優(yōu)勢(shì)?
【Python面經(jīng)題】爬蟲數(shù)據(jù)為什么選擇Mongodb存儲(chǔ)?