类代码:
# -*- 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