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 22 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
用Python逐行分析文件方法
Jan 28 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
python简单验证码识别的实现方法
May 10 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
Django 静态文件配置过程详解
Jul 23 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
Python如何将函数值赋给变量
Apr 28 Python
scrapy头部修改的方法详解
Dec 06 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
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
微信支付扫码支付php版
2016/07/22 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
Python和Sublime整合过程图示
2019/12/25 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
2014年廉洁自律承诺书
2014/05/26 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
2015年防汛工作总结
2015/05/15 职场文书
运动员入场词
2015/07/18 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
pandas取dataframe特定行列的实现方法
2021/05/24 Python