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中的文本处理
Apr 11 Python
python检查指定文件是否存在的方法
Jul 06 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
python一键升级所有pip package的方法
Jan 16 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
python实现五子棋程序
Apr 24 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
python怎么删除缓存文件
Jul 19 Python
Python 随机按键模拟2小时
Dec 30 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
cmd下运行php脚本
2008/11/25 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python 删除非空文件夹的实例
2018/04/26 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
python自动点赞功能的实现思路
2020/02/26 Python
python对文件的操作方法汇总
2020/02/28 Python
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
大学新生军训方案
2014/05/03 职场文书
设计师求职信
2014/07/01 职场文书
导航工程专业自荐信
2014/09/02 职场文书
放弃继承权公证书
2015/01/23 职场文书
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫