網站首頁 編程語言 正文
一、背景
Python 是一門易于學習、功能強大的編程語言。它提供了高效的高級數據結構,還能簡單有效地面向對象編程。
Python 優雅的語法和動態類型以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發應用的理想語言。
下面我們來介紹一下python的文件指針定位相關知識。
二、獲取當前讀寫位置
在讀寫文件的過程中,如果想知道當前文件位置指針的位置,可以通過調用tell()方法來獲取。
tell()方法返回文件的當前位置,即文件位置指針當前位置。
其語法格式如下:
文件對象名.tell()
例:
使用tell()方法獲取文件當前的讀寫位置。
with open('testfile.txt','r') as file: #以只讀方式打開名為“testfile.txt”的文件 line = file.read(8) #讀取前8個字節 print(line) #輸出前8個字節 p = file.tell() #獲取指針當前位置 print('當前位置:',p) #輸出當前位置 line = file.read(4) #繼續讀取4個字節 print(line) #輸出讀取到的數據 p = file.tell() #獲取指針當前位置 print('當前位置:',p) #輸出當前位置
結果如下。
三、定位到某個位置
如果在讀寫文件的過程中,需要從指定的位置開始讀寫操作,就可以使用seek()方法實現。
seek()方法用于移動文件位置指針到指定位置
其語法格式如下:
文件對象名.seek(offset[,whence])
例:
創建名為“seek.txt“的文件,輸入“This is a test!”并存放進文件中,讀取單詞“test”并輸出到終端。
filename = input('請輸入新建的文件名:') #輸入文件名 with open(filename,'w+') as file: #新建文件并以讀寫方式打開 file.write('This is a test!') #將字符串輸入到文件 file.seek(10) #指針移到從頭開始的第10個字符處 con = file.read(4) #讀取4個字符給con print(con) #輸出
結果如下。
以文本文件格式打開文件時,seek()方法中的whence參數取值只能是0,即只允許從文件開始位置計算偏移量。
若想從當前位置或文件末尾位置計算偏移量,需要使用“b”模式(二進制格式)打開文件。
例:
讀取“seek.txt”文件中倒數第2個字符。
with open('seek.txt','rb') as file: #新建文件并以讀寫方式打開 file.seek(-2,2) #將文件位置指針定位到倒數第2個字符處 con = file.read(1) #讀取1個字符給con print(con) #輸出
結果如下。
四、總結
原文鏈接:https://blog.csdn.net/jiankang66/article/details/126002418
相關推薦
- 2022-08-23 Python+Selenium實現在Geoserver批量發布Mongo矢量數據_python
- 2022-04-20 Selenium?三種等待方式(強制等待、隱式等待、顯示等待)_python
- 2022-06-18 C語言詳細講解#error與#line如何使用_C 語言
- 2022-06-06 ?Redis?串行生成順序編碼的方法實現_Redis
- 2022-10-26 jQuery?基礎選擇器與屬性選擇器_jquery
- 2022-04-24 一起來學習C語言的字符串轉換函數_C 語言
- 2023-04-20 Error in render: “TypeError: data.slice is not a f
- 2022-05-02 C/C++的文件IO函數你知道嗎_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支