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编程对列表中字典元素进行排序的方法详解
May 26 Python
python实现用户管理系统
Jan 10 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
详解Python字符串切片
May 20 Python
python flask解析json数据不完整的解决方法
May 26 Python
学习和使用python的13个理由
Jul 30 Python
基于Python实现大文件分割和命名脚本过程解析
Sep 29 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
Python如何合并多个字典或映射
Jul 24 Python
Flask中jinja2的继承实现方法及实例
Mar 03 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
Python anaconda安装库命令详解
Oct 16 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与MySQL开发的8个技巧小结
2010/12/17 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
Python实现的概率分布运算操作示例
2017/08/14 Python
Python探索之pLSA实现代码
2017/10/25 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
django的登录注册系统的示例代码
2018/05/14 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
python实现雨滴下落到地面效果
2018/06/21 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
python3图片文件批量重命名处理
2019/10/31 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
咖啡厅创业计划书范本
2014/01/22 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python