python文件随机读写例子
2015-07-09 00:00
260 查看
__author__ = 'Administrator' # -*- coding: utf-8 -*- ''' 声明一个类,该类的参数是一个字符串 传一个文件和一个结果文件,如果该文件中包含有指定的字符串,将该行信息输出至结果文件中 ''' class FileUtil: def __init__(self,filename): self.filename = filename def createindexfile(self,stringdata): fwrite = open(self.filename,'a') fl2 =open("d:/bak/bak/test.index",'a+b') #读取到文件的最后一个位置,往前读8位,前4位为索引,后四位为数据的长度 i = 1 if fl2.tell() >=8: fl2.seek(-8,2) if fl2.readable(): bindex = fl2.read(8) if bindex is None: print (bindex +" is none") else: i = int(bindex[0:4])+1 indexcontent = str.format("%04d%04d"%(i,len(stringdata))) fl2.write(indexcontent.encode("UTF-8") ) fwrite.write(stringdata) fwrite.close() fl2.close() def getmsgbyIndex(self,index): print(index) #打开索引文件读取 fread = open(self.filename,'r') #打开数据文件读取 findexread =open("d:/bak/bak/test.index",'r') #按索引标志读取到对应的地址,每读一次,动态增加一个数据 istart =0 for i in range(1,index): strindex = findexread.read(8) istart += int(strindex[4:]) #最终读取数据返回 strindex = findexread.read(8) fread.seek(istart) k = int(strindex[4:]) content =fread.read(k) print(content+"===") return content if __name__ == '__main__': fl = FileUtil("d:/bak/bak/test.aa") fl.createindexfile("123456") fl.createindexfile("456789100320103") for i in range(1,8): 7fe0 fl.getmsgbyIndex(i)
相关文章推荐
- python
- python
- python
- python 3.x和2.x区别
- python实现的websocket总结 —— wspy
- Python笔记:multiprocessing模块详解
- python编程之 环绕卫星轨道
- Python字符整数类型转换
- karloop介绍--hello world大家好,今天为大家介绍一款非常轻量级的的web开发框架,karloop框架。使用python开发 首先我们下载karloop源码进行安装。 源码地址 下载成
- adb connection python 一键 wifi 连接
- python基础(1)
- python装饰器
- epoll 简单用法
- tornado 源码初识
- python_queue多线程
- 提供给开发者 10 款最好的 Python IDE(转)
- OOP in python DEMO
- 【Python 学习手册笔记】介绍Python对象类型
- 汉诺塔和杨辉三角问题的Python实现
- numpy数组基础知识