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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
跟老齐学Python之画圈还不简单吗?
Sep 20 Python
Python自动重试HTTP连接装饰器
Apr 28 Python
详解Python中break语句的用法
May 14 Python
Python中取整的几种方法小结
Jan 06 Python
python rsa 加密解密
Mar 20 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
Python3 中sorted() 函数的用法
Mar 24 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
php生成略缩图代码
2012/07/16 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
Js四则运算函数代码
2012/07/21 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
js模糊查询实例分享
2016/12/26 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
python将图片转base64,实现前端显示
2020/01/09 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
学校教师培训工作总结
2015/10/14 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python