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遍历pandas数据方法总结
Feb 09 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
python 5个实用的技巧
Sep 27 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
python3中确保枚举值代码分析
Dec 02 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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/06/08 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
python实现百度关键词排名查询
2014/03/30 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
通过实例解析python描述符原理作用
2020/01/22 Python
泰国网上购物:Shopee泰国
2018/09/14 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
教师队伍管理制度
2014/01/14 职场文书
旷课检讨书1000字
2014/02/14 职场文书
车间机修工岗位职责
2014/02/28 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
保险公司晨会主持词
2014/03/22 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
中学校园广播稿
2015/08/18 职场文书
基督教追悼会答谢词
2015/09/29 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
浅谈Python魔法方法
2021/06/28 Java/Android
JavaScript流程控制(循环)
2021/12/06 Javascript