小編給大家分享一下python如何讀取指定字節(jié)長度的文本,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1、云計算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數(shù)據(jù)分析。
軟件版本
Python 2.7.13; Win 10
場景描述
1、使用python讀取指定長度的文本;
2、使用python讀取某一范圍內(nèi)的文本。
Python代碼
test.txt文本內(nèi)包含的字符串為“AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD”,A,B,C,D均為8個
# -*- coding:utf-8 -*- text_file = r"test.txt" # open() f = open(text_file, "r") # 以文件起始位置作為相對位置,偏移8個長度 f.seek(8, 0) # 輸出當(dāng)前指針偏移量 pos = f.tell() print pos # 讀取8個字節(jié)長度的文本,范圍為[8,16) text_to_number = f.read(8) print text_to_number # 輸出當(dāng)前指針偏移量,可以觀測到read()也會造成文件指針偏移 pos = f.tell() print pos # 以當(dāng)前文件指針作為相對位置,偏移8個長度 f.seek(8, 1) # 讀取8個字節(jié)長度的文本,范圍為[24,32) text_to_all = f.read(8) print text_to_all f.close()
輸出:
8 BBBBBBBB 16 DDDDDDDD
函數(shù)說明
這段代碼涉及到文件操作的幾個方法。
1、open()方法
用來打開一個文件。這是對文件操作的第一步。open()方法的語法如下:open(name[, mode[,buffering]])。name參數(shù)是open方法的唯一強制參數(shù),用來標識要打開的文件名。mode是文件打開的模式,通常有三種:r為讀模式打開,w為寫模式打開,a為追加模式打開。
2、seek()方法
用它設(shè)置當(dāng)前文件讀/寫指針的偏移。seek()方法的語法如下:fileObject.seek(offset[, whence])。offset參數(shù)指明偏移量,第二個參數(shù)指出第一個參數(shù)偏移基準是哪里:0 表示移動到一個絕對位置 (從文件開始算起),1 表示移到一個相對位置 (從當(dāng)前位置算起),還有 2 表示對于文件尾的一個相對位置。”
3、tell()方法
返回當(dāng)前文件指針的位置。
4、read()方法
讀取文件內(nèi)容的方法。讀取文件內(nèi)容的另外兩個方法是readline和readlines。
readline()每次讀取一行,當(dāng)前位置移到下一行;
readlines()讀取整個文件所有行,保存在一個列表(list)變量中,每行作為一個元素;
read(size)從文件當(dāng)前位置起讀取size個字節(jié)(如果文件結(jié)束,就讀取到文件結(jié)束為止),如果size是負值或省略,讀取到文件結(jié)束為止,返回結(jié)果是一個字符串。
5、close()方法
操作完文件,一定要關(guān)閉文件。關(guān)閉文件就是用這個close方法。
看完了這篇文章,相信你對“python如何讀取指定字節(jié)長度的文本”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前標題:python如何讀取指定字節(jié)長度的文本-創(chuàng)新互聯(lián)
標題URL:http://chinadenli.net/article40/hjcho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、標簽優(yōu)化、動態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、微信公眾號、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容