python讀取指定字節長度的文本


軟件版本


Python 2.7.13;   Win 10

場景描述


1、使用python讀取指定長度的文本;

2、使用python讀取某一范圍內的文本。

Python代碼


test.txt文本內包含的字符串為“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)
# 輸出當前指針偏移量
pos = f.tell()
print pos
# 讀取8個字節長度的文本,范圍為[8,16)
text_to_number = f.read(8)
print text_to_number
# 輸出當前指針偏移量,可以觀測到read()也會造成文件指針偏移
pos = f.tell()
print pos
# 以當前文件指針作為相對位置,偏移8個長度
f.seek(8, 1)
# 讀取8個字節長度的文本,范圍為[24,32)
text_to_all = f.read(8)
print text_to_all

f.close()

輸出:

8
BBBBBBBB
16
DDDDDDDD

函數說明


這段代碼涉及到文件操作的幾個方法。

1、open()方法

用來打開一個文件。這是對文件操作的第一步。open()方法的語法如下:open(name[, mode[,buffering]])。name參數是open方法的唯一強制參數,用來標識要打開的文件名。mode是文件打開的模式,通常有三種:r為讀模式打開,w為寫模式打開,a為追加模式打開。

2、seek()方法

用它設置當前文件讀/寫指針的偏移。seek()方法的語法如下:fileObject.seek(offset[, whence])。offset參數指明偏移量,第二個參數指出第一個參數偏移基准是哪里:0 表示移動到一個絕對位置 (從文件開始算起),1 表示移到一個相對位置 (從當前位置算起),還有 2 表示對於文件尾的一個相對位置。”

3、tell()方法

返回當前文件指針的位置。

4、read()方法

讀取文件內容的方法。讀取文件內容的另外兩個方法是readline和readlines。

readline()每次讀取一行,當前位置移到下一行;

readlines()讀取整個文件所有行,保存在一個列表(list)變量中,每行作為一個元素;

read(size)從文件當前位置起讀取size個字節(如果文件結束,就讀取到文件結束為止),如果size是負值或省略,讀取到文件結束為止,返回結果是一個字符串。

5、close()方法

操作完文件,一定要關閉文件。關閉文件就是用這個close方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM