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实现全局变量的两个解决方法
Jul 03 Python
Python多线程编程(六):可重入锁RLock
Apr 05 Python
python实现用于测试网站访问速率的方法
May 26 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
Python 使用生成器代替线程的方法
Aug 04 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
pycharm部署django项目到云服务器的详细流程
Jun 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 常见郁闷问题答解
2006/11/25 PHP
xajax写的留言本
2006/11/25 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
jquery parent和parents的区别分析
2013/10/02 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
python名片管理系统开发
2020/06/18 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
教师竞聘上岗演讲稿
2014/09/03 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
优秀校长事迹材料
2014/12/24 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
OpenCV-Python实现轮廓拟合
2021/06/08 Python
分享一些Java的常用工具
2021/06/11 Java/Android
Pytest中skip skipif跳过用例详解
2021/06/30 Python
Python图片验证码降噪和8邻域降噪
2021/08/30 Python