Python实现的tab文件操作类分享

 更新时间:2014年11月20日 15:53:51   投稿:junjie  
这篇文章主要介绍了Python实现的tab文件操作类分享,本文直接给出实现代码,需要的朋友可以参考下

类代码:

# -*- 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

相关文章

  • pandas 颠倒列顺序的两种解决方案

    pandas 颠倒列顺序的两种解决方案

    这篇文章主要介绍了pandas 颠倒列顺序的两种解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python实现的栈、队列、文件目录遍历操作示例

    Python实现的栈、队列、文件目录遍历操作示例

    这篇文章主要介绍了Python实现的栈、队列、文件目录遍历操作,结合实例形式分析了Python数据结构中栈与队列的定义、使用,以及文件目录的遍历相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • Python实现爬取某站视频弹幕并绘制词云图

    Python实现爬取某站视频弹幕并绘制词云图

    这篇文章主要介绍了利用Python爬取某站的视频弹幕,并将其绘制成词云图,文中的示例代码讲解详细,对我学习Python爬虫有一定的帮助,需要的朋友可以参考一下
    2021-12-12
  • Python中获取当前线程名字的方法及多线程编程实践记录

    Python中获取当前线程名字的方法及多线程编程实践记录

    本文介绍了在Python中获取当前线程的名字的方法,并探讨了其在多线程编程中的重要性和实际应用,通过两个实际的代码示例,展示了如何利用多线程来并行计算斐波那契数列和下载文件,以提高程序的性能和效率,感兴趣的朋友一起看看吧
    2024-04-04
  • python如何创建TCP服务端和客户端

    python如何创建TCP服务端和客户端

    这篇文章主要为大家详细介绍了python如何创建TCP服务端和客户端,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python使用open函数的buffering设置文件缓冲方式

    Python使用open函数的buffering设置文件缓冲方式

    这篇文章主要介绍了Python使用open函数的buffering设置文件缓冲方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 变长双向rnn的正确使用姿势教学

    变长双向rnn的正确使用姿势教学

    这篇文章主要介绍了变长双向rnn的正确使用姿势,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python实现解析Html的方法与对比

    Python实现解析Html的方法与对比

    在最近需要的需求中,需要 python 获取网页内容,并从html中获取到想要的内容,本文主要介绍了两种常用方法并进行了对比,感兴趣的可以了解下
    2024-03-03
  • PyQt 图解Qt Designer工具的使用方法

    PyQt 图解Qt Designer工具的使用方法

    这篇文章主要介绍了PyQt 图解Qt Designer工具的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python 8种必备的gui库

    python 8种必备的gui库

    这篇文章主要介绍了python 8种必备的gui库,帮助大家更好的进行python 开发,感兴趣的朋友可以了解下
    2020-08-08

最新评论