当前位置: 移动技术网 > IT编程>脚本编程>Python > Python实现的tab文件操作类分享

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

2019年03月24日  | 移动技术网IT编程  | 我要评论

it168本友会,张志和 渔歌子,我是旷世神

类代码:

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网