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读取指定字节长度的文本的更多相关文章
- 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
随机推荐
- SQL注入理解与防御
一.说明 sql注入可能是很多学习渗透测试的人接触的第一类漏洞,这很正常因为sql注入可能是web最经典的漏洞.但在很多教程中有的只讲‘或and 1=1.and 1=2有的可能会进一步讲union s ...
- Win10系列:C#应用控件基础8
ToggleSwitch控件 在应用程序中ToggleSwitch控件可以模拟一个允许用户在启用和禁用两种状态之间进行切换的物理开关,ToggleSwitch控件的功能与我们在日常生活中所使用的电源开 ...
- UVa 11134 - Fabled Rooks 优先队列,贪心 难度: 0
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- day33-python阶段性复习七
rc脚本练习 #!/usr/bin/env python #coding:utf8 import sys import os from subprocess import Popen, PIPE cl ...
- Linux目录结构 重要目录结构详细
1.1 /etc/hosts ip地址与主机名(域名)的对应关系 解析主机名 ping www.baidu.com 解析成10.0.0.200 1.产品测试 2 用主机名互相访问 1.2 /et ...
- mysql InnoDB index 主键采用聚簇索引,二级索引不采用聚簇索引
原文链接 我的归纳: (1)InnoDB的主键采用聚簇索引存储,使用的是B+Tree作为索引结构,但是叶子节点存储的是索引值和数据本身(注意和MyISAM的不同). (2)InnoDB的二级索引不使用 ...
- <zk在大型分布式系统中的应用>
Hadoop 在hadoop中,zk主要用来实现HA(High Availability).这部分逻辑主要集中在hadoop common的HA模块中,HDFS的NameNode和Yarn的Resou ...
- leetcode题解 200. Number of Islands(其实就是一个深搜)
题目: Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is s ...
- 剑指Offer 20. 包含min函数的栈 (栈)
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 题目地址 https://www.nowcoder.com/practice/4c77 ...
- C# 开发Modbus Rtu客户端 modbus测试Demo,Modbus 串口通信 , 虚拟MODBUS-RTU测试
前言 本文将使用一个NuGet公开的组件技术来实现一个ModBus RTU的客户端,方便的对Modbus rtu的服务器进行读写,这个服务器可以是电脑端C#设计的,也可以是PLC实现的,也可以是其他任 ...