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

转载于:https://www.cnblogs.com/whiteyun/archive/2009/09/25/1573791.html

Python实现tab文件操作相关推荐

  1. python 对 yaml 文件操作

    python 对 yaml 文件操作 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : p ...

  2. python怎么读取文件-python怎么读写文件操作

    本节内容:I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input/ ...

  3. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...

  4. Python中的文件操作和异常

    Python中的文件操作和异常 文章目录 Python中的文件操作和异常 一.文件 01. 文件的概念 1.1 文件的概念和作用 1.2 文件的存储方式 文本文件和二进制文件 02. 文件的基本操作 ...

  5. Python os模块文件操作(二)

    Python os模块文件操作(二) os模块对文件夹和文件的操作很多.可以先看: https://blog.csdn.net/weixin_43790276/article/details/9867 ...

  6. Python os模块文件操作(一)

    Python os模块文件操作(一) 一.文件描述符 在使用代码对文件进行操作时,为了指定操作的文件,避免不了要使用文件描述符,所以我们先介绍什么是文件描述符. 操作系统为了高效管理已经被打开的文件, ...

  7. python怎么读写文件-python怎么读写文件操作

    本节内容:I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input/ ...

  8. python对PDF文件操作

    python对PDF文件操作 下载模块PyPDF2,以页为基本单位对PDF文件进行读写操作,无法直接操作每一页内容. PDF文件读操作 导入函数 from PyPDF2 import PdfFileR ...

  9. python中csv文件操作_python中操作csv文件

    python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...

最新文章

  1. 大家一起和snailren学java-(一)对象导论
  2. 结合领域驱动设计的SOA分布式软件架构
  3. 微软开始提供公共预览版Windows 8.1下载
  4. Java 11:将集合转换为数组
  5. 输出第二个整数(信息学奥赛一本通-T1002)
  6. ROS入门-9.订阅者Subscriber的编程实现
  7. 笔记:Java 性能优化权威指南 第6章 Java 应用性能分析技巧
  8. 火山引擎 veStack 在企业办公场景的落地实践
  9. mac iterm 怎么搜索不能输入_Mac高效开发之iTerm2、Prezto和Solarized主题
  10. 博客开张,小小的庆下生^_^
  11. 潘多拉路由器固件备份
  12. java鼠标钩子,使用setwindowshookex在C#中设置鼠标钩子:wparam和lparam总是返回常量...
  13. 2021计算机考研408真题和答案(回忆版)
  14. mysql grant 用户权限总结
  15. Last-Modified和Etag
  16. lr0文法分析表示例_LR(0)文法项目集规范族、DFA和分析表的构建实例
  17. java.lang.NoSuchMethodError问题解决
  18. 某些Win10无法进入安全模式的修复
  19. 天猫精灵 python 控制_树莓派4B小爱同学、天猫精灵、智能音箱、百度语音极速版、百度语音标准版、语音识别、语音合成终极方案...
  20. 魔术轮胎,dugoff轮胎建模 采用模块化建模方法,搭建非线性魔术轮胎PAC2002,dugoff模型

热门文章

  1. flask 常见关系模板代码
  2. @Conditional派生注解
  3. [转] React 是什么
  4. Coredata — 入门使用
  5. 使用maven创建项目和cannot change version web module 3.0
  6. 【收藏】银联在线支付商户UPMP接口的使用和说明
  7. tungsten开机启动及进程开启停止
  8. 【Ubuntu】ubuntu webqq桌面版pywebqq
  9. 趋势线突破有效的标志
  10. linux 删除乱码文件