python按字节读取_python读取指定字节长度的文本

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 20:53   29   0

软件版本

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方法

C#与JS实现 获取指定字节长度 中英文混合字符串 的方法

平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要 ...

python 读取指定文件信息并拼接

python 读取指定文本并拼接成指定的格式 # -*- coding: utf-8 -*- import os def getHelloWorld(path, fileName): "&q ...

js截取指定字节长度的字符串

默认的截取字符串都是根据字符长度或位置截取的,典型的两个方法是substr和substring. 这样导致的问题是截取同样长度的字符串时,多字节字符(汉字等)和单字节字符(半角英文字母.半角数字)占的 ...

String截取字符串的指定字节长度

/** TODO:截取字符串的指定字节长度 * @Author wenjing * @Date 11:02 2019/5/15 * @Param [str, bengin, end] * @retur ...

python 读取指定div的内容

# -*- coding:utf-8 -*- from bs4 import BeautifulSoup import urllib.request import re # 如果是网址,可以用这个办法 ...

Python读取指定目录下指定后缀文件并保存为docx

最近有个奇葩要求 要项目中的N行代码 申请专利啥的 然后作为程序员当然不能复制粘贴 用代码解决.. 使用python-docx读写docx文件 环境使用python3.6.0 首先pip安装pytho ...

python 读取指定文件夹中的指定文件类型的文件名

import numpy as np import os path = 'F:\\wenjian'#指定文件所在路径 filetype ='.csv'#指定文件类型 def get_filename( ...

python读取指定内存的内容

import ctypes as ct t = ct.string_at(0x211000, 20) # (addr, size) print t 最好不要用解释性语言来开发底层,一般用C.

Python读取指定文件夹(包括当前目录、子目录、子文件)

http://blog.csdn.net/lsq2902101015/article/details/51305825

随机推荐

requirejs解决异步模块加载方案

他首先会遍历enableRegistry取出其中定义的模块,并且将没有加载成功的模块标识注入noLoads数组,如果过期了这里就会报错 如果上述没问题还会做循环依赖的判断,主要逻辑在breakCycl ...

DNS Prefetch

DNS 实现域名到IP的映射.通过域名访问站点,每次请求都要做DNS解析.目前每次DNS解析,通常在200ms以下.针对DNS解析耗时问题,一些浏览器通过DNS Prefetch 来提高访问的流畅性. ...

tab切换的两种方法

方法一.主要使用了传递参数的思想,把循环变量不能使用转换了一下

&lt ...

JavaScript 变量、函数与原型链

定义 || 赋值 1-函数的定义 函数定义的两种方式: “定义式”函数:function fn(){ alert("哟,哟!"); } “赋值式”函数:var fn = funct ...

arm-linux-objdump

一.arm-linux-objdump常用来显示二进制文件信息,常用来查看反汇编代码二.常用选项:1.-b bfdname 指定目标码格式2.—disassemble或者-d 反汇编可执行段3.—di ...

【POJ1743】 Musical Theme (二分+后缀数组)

Musical Theme Description A musical melody is represented as a sequence of N (1<=N<=20000)note ...

Android XML文档解析&lpar;一&rpar;——SAX解析

---------------------------------------------------------------------------------------------------- ...

python 归并排序

def merge_sort(alist): if len(alist) <= 1: return alist # 二分分解 num = len(alist)/2 left = merge_so ...

js中对于逗号的运算符!

先展示一个例子! var f = (function f() { return '1'; } , function g(){ return 1; } )(); console.log(typeof f ...

pandas学习&lpar;数据分组与分组运算、离散化处理、数据合并&rpar;

pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP