Python实现的tab文件操作类分享


Posted in Python onNovember 20, 2014

类代码:

# -*- coding:gbk -*-

import os

class TABFILE:
  def __init__(self, filename, dest_file = None):
    self.filename = filename
    if not dest_file:
      self.dest_file = filename
    else:
      self.dest_file = dest_file
    self.filehandle = None
    self.content = []
    self.initflag = False
    self.column = 0
    self.row = 0
    self.data = []
  def Init(self):
    try: 
      self.filehandle = open(self.filename, 'r')
      self.initflag = self._load_file()
    except: 
      pass
    else:
      self.initflag = True
    return self.initflag

  def UnInit(self):
    if self.initflag:
      self.filehandle.close()
    
  def _load_file(self):
    if self.filehandle:
      self.content = self.filehandle.readlines()
      self.row = len(self.content) - 1
      head = self.content[0].split('\t')
      self.column = len(head)
      for line in self.content:
        #这里需要去掉末尾的换行
        #line = line - '\n\r'
        self.data.append(line.rstrip().split('\t'))
      return True
    else:
      return False

  def GetValue(self, row, column):
    if 0 < row < self.row and 0 < column < self.column:
      return self.data[row][column - 1]
    else:
      return None

  def SetValue(self, row, column, value):
    if 0 < row < self.row and 0 < column < self.column:
      self.data[row][column] = value
    else:
      return False

  def SaveToFile(self):
    filewrite = open(self.dest_file, 'w')
    if not filewrite:
      return False
    sep_char = '\t'
    for line in self.data:
      filewrite.write(sep_char.join(line)+'\n')
    filewrite.close()
    return True
Python 相关文章推荐
python封装对象实现时间效果
Apr 23 Python
python基础教程之udp端口扫描
Feb 10 Python
Python抓取淘宝下拉框关键词的方法
Jul 08 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
Python编程中flask的简介与简单使用
Dec 28 Python
在python中,使用scatter绘制散点图的实例
Jul 03 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
python numpy数组复制使用实例解析
Jan 10 Python
Python chardet库识别编码原理解析
Feb 18 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
Apr 24 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
 Python 中 logging 模块使用详情
Mar 03 Python
Python实现的ini文件操作类分享
Nov 20 #Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 #Python
python有证书的加密解密实现方法
Nov 19 #Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 #Python
Python实现向QQ群成员自动发邮件的方法
Nov 19 #Python
python端口扫描系统实现方法
Nov 19 #Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 #Python
You might like
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
JS跨域总结
2012/08/30 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
Python 中的with关键字使用详解
2016/09/11 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
数字化校园建设方案
2014/05/03 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
办公室文员岗位职责
2015/02/04 职场文书
公路施工安全责任书
2015/05/08 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
一级电子管军用接收机测评
2022/04/05 无线电
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技