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中的hashlib和base64加密模块使用实例
Sep 02 Python
Python中最常用的操作列表的几种方法归纳
Apr 24 Python
Python实现二叉堆
Feb 03 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python实现将多个文件分配到多个文件夹的方法
Jan 07 Python
python命令行工具Click快速掌握
Jul 04 Python
Python numpy数组转置与轴变换
Nov 15 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
python中使用input()函数获取用户输入值方式
May 03 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
使用python实现学生信息管理系统
Feb 25 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
一个多文件上传的例子(原创)
2006/10/09 PHP
搜索引擎技术核心揭密
2006/10/09 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
javascript 年月日联动实现核心代码
2009/12/21 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python实现AES加密解密
2019/03/28 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python单例设计模式实现解析
2020/01/07 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Python调用飞书发送消息的示例
2020/11/10 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
上级检查欢迎词
2014/01/18 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书