首頁技術(shù)文章正文

Python使用哪種方法獲取和修改文件讀寫位置?

更新時(shí)間:2021-03-18 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

在文件的一次打開與關(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)

1616060295997_定位讀取文件.jpg

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ǔ)?

Python項(xiàng)目實(shí)戰(zhàn)視頻教程:美多商城開發(fā)【黑馬程序員】

python常見異常類型介紹【黑馬程序員】

黑馬程序員Python+數(shù)據(jù)分析課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!