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检测远程端口是否打开的方法
Mar 14 Python
Python基于smtplib实现异步发送邮件服务
May 28 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
Python代码实现KNN算法
Dec 20 Python
tornado 多进程模式解析
Jan 15 Python
磁盘垃圾文件清理器python代码实现
Aug 24 Python
Python自定义线程类简单示例
Mar 23 Python
Python列表解析配合if else的方法
Jun 23 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
Django框架模板用法入门教程
Nov 04 Python
Python中filter与lambda的结合使用详解
Dec 24 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 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 观察者模式的实现代码
2013/05/10 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
运动会通讯稿200字
2014/02/16 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
德育标兵事迹材料
2014/08/24 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
答谢酒会主持词
2015/07/02 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python