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 26 Python
从Python的源码来解析Python下的freeblock
May 11 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
Python中Django 后台自定义表单控件
Mar 28 Python
解析Python中的eval()、exec()及其相关函数
Dec 20 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 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
html中select语句读取mysql表中内容
2006/10/09 PHP
php class类的用法详细总结
2013/10/17 PHP
php 发送带附件邮件示例
2014/01/23 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
js 代码优化点滴记录
2012/02/19 Javascript
JS跨域总结
2012/08/30 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
webpack多页面开发实践
2017/12/18 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
python实现堆栈与队列的方法
2015/01/15 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
Python threading的使用方法解析
2019/08/28 Python
wxPython实现文本框基础组件
2019/11/18 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
医院节能减排方案
2014/06/13 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
Python函数对象与闭包函数
2022/04/13 Python