python讀取指定字節(jié)長(zhǎng)度的文本方法
軟件版本
Python 2.7.13; Win 10
場(chǎng)景描述
1、使用python讀取指定長(zhǎng)度的文本;
2、使用python讀取某一范圍內(nèi)的文本。
Python代碼
test.txt文本內(nèi)包含的字符串為“AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD”,A,B,C,D均為8個(gè)
# -*- coding:utf-8 -*- text_file = r"test.txt" # open() f = open(text_file, "r") # 以文件起始位置作為相對(duì)位置,偏移8個(gè)長(zhǎng)度 f.seek(8, 0) # 輸出當(dāng)前指針偏移量 pos = f.tell() print pos # 讀取8個(gè)字節(jié)長(zhǎng)度的文本,范圍為[8,16) text_to_number = f.read(8) print text_to_number # 輸出當(dāng)前指針偏移量,可以觀測(cè)到read()也會(huì)造成文件指針偏移 pos = f.tell() print pos # 以當(dāng)前文件指針作為相對(duì)位置,偏移8個(gè)長(zhǎng)度 f.seek(8, 1) # 讀取8個(gè)字節(jié)長(zhǎng)度的文本,范圍為[24,32) text_to_all = f.read(8) print text_to_all f.close()
輸出:
8 BBBBBBBB 16 DDDDDDDD
函數(shù)說(shuō)明
這段代碼涉及到文件操作的幾個(gè)方法。
1、open()方法
用來(lái)打開(kāi)一個(gè)文件。這是對(duì)文件操作的第一步。open()方法的語(yǔ)法如下:open(name[, mode[,buffering]])。name參數(shù)是open方法的唯一強(qiáng)制參數(shù),用來(lái)標(biāo)識(shí)要打開(kāi)的文件名。mode是文件打開(kāi)的模式,通常有三種:r為讀模式打開(kāi),w為寫(xiě)模式打開(kāi),a為追加模式打開(kāi)。
2、seek()方法
用它設(shè)置當(dāng)前文件讀/寫(xiě)指針的偏移。seek()方法的語(yǔ)法如下:fileObject.seek(offset[, whence])。offset參數(shù)指明偏移量,第二個(gè)參數(shù)指出第一個(gè)參數(shù)偏移基準(zhǔn)是哪里:0 表示移動(dòng)到一個(gè)絕對(duì)位置 (從文件開(kāi)始算起),1 表示移到一個(gè)相對(duì)位置 (從當(dāng)前位置算起),還有 2 表示對(duì)于文件尾的一個(gè)相對(duì)位置?!?/p>
3、tell()方法
返回當(dāng)前文件指針的位置。
4、read()方法
讀取文件內(nèi)容的方法。讀取文件內(nèi)容的另外兩個(gè)方法是readline和readlines。
readline()每次讀取一行,當(dāng)前位置移到下一行;
readlines()讀取整個(gè)文件所有行,保存在一個(gè)列表(list)變量中,每行作為一個(gè)元素;
read(size)從文件當(dāng)前位置起讀取size個(gè)字節(jié)(如果文件結(jié)束,就讀取到文件結(jié)束為止),如果size是負(fù)值或省略,讀取到文件結(jié)束為止,返回結(jié)果是一個(gè)字符串。
5、close()方法
操作完文件,一定要關(guān)閉文件。關(guān)閉文件就是用這個(gè)close方法。
以上這篇python讀取指定字節(jié)長(zhǎng)度的文本方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生點(diǎn)名系統(tǒng)
現(xiàn)在的學(xué)生大部分都很積極,會(huì)主動(dòng)舉手回答問(wèn)題。但是,也會(huì)遇到一些不好的情況,比如年級(jí)越高主動(dòng)舉手的人越少,所以本文做了一個(gè)隨機(jī)的學(xué)生點(diǎn)名系統(tǒng)可以幫老師解決這些問(wèn)題2022-09-09Python元類編程實(shí)現(xiàn)一個(gè)簡(jiǎn)單的ORM
本文主要介紹了Python元類編程實(shí)現(xiàn)一個(gè)簡(jiǎn)單的ORM,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03使用python向MongoDB插入時(shí)間字段的操作
這篇文章主要介紹了使用python向MongoDB插入時(shí)間字段的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Jmeter并發(fā)執(zhí)行Python 腳本的完整流程
這篇文章主要介紹了Jmeter并發(fā)執(zhí)行 Python 腳本的問(wèn)題詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09python如何用matplotlib創(chuàng)建三維圖表
這篇文章主要介紹了python如何在matplotlib中創(chuàng)建三維圖表,幫助大家更好的利用python進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下2021-01-01用Python編程實(shí)現(xiàn)語(yǔ)音控制電腦
是否經(jīng)常好萊塢電影里看強(qiáng)大的語(yǔ)音識(shí)別系統(tǒng)? 是否每每看到都會(huì)羨慕嫉妒恨? 可是我們真心買不起啊。2014-04-04python通過(guò)zabbix api獲取主機(jī)
這篇文章主要為大家詳細(xì)介紹了python通過(guò)zabbix api獲取主機(jī),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python使用回溯法子集樹(shù)模板解決爬樓梯問(wèn)題示例
這篇文章主要介紹了Python使用回溯法子集樹(shù)模板解決爬樓梯問(wèn)題,簡(jiǎn)單說(shuō)明了爬樓梯問(wèn)題并結(jié)合實(shí)例形式給出了Python回溯法子集樹(shù)模板解決爬樓梯問(wèn)題的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09