教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python是怎樣定位和修改文件讀寫位置的?

更新時(shí)間:2021年03月18日17時(shí)43分 來源:傳智教育 瀏覽次數(shù):

在文件的一次打開與關(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讀寫文件操作詳細(xì)介紹

python assert用法詳解【傳智教育】

Django路由配置方法和注意問題詳解

傳智教育Python培訓(xùn)

0 分享到:
和我們?cè)诰€交談!