python读取指定字节长度的文本方法

yipeiwu_com7年前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方法。

以上这篇python读取指定字节长度的文本方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

儿童python练习实例

实例一: 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满...

简单了解Django ORM常用字段类型及参数配置

这篇文章主要介绍了简单了解Django ORM常用字段类型及参数配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、数值型...

django模板结构优化的方法

模版结构优化 引入模版 有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函...

Python lambda和Python def区别分析

Python支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做lambda的函数,是从Lisp借用来的,可以用在任何需要函数的地方。 lambda的语法时常会使人感到困惑,la...

跟老齐学Python之用while来循环

跟老齐学Python之用while来循环

在python中,它也有这个含义,不过有点区别的是,“当...时候”这个条件成立在一段范围或者时间间隔内,从而在这段时间间隔内让python做好多事情。就好比这样一段情景: while...