分享

【就够了系列】Python基本读取文件,这一篇管够

 老三的休闲书屋 2020-06-26

在日常开发过程中,经常遇到需要读取配置文件,这边就涉及到一个文本读取的方法。

这篇文章主要以Python读取文本的基础方法为本,添加读取整篇文本返回字符串,读取键值对返回字典,以及读取各个项返回列表的应用。至于读取xml文件或者加密文件的其他方法这里不做介绍,后续会详细讲解。

这里直接上模块案例,可以看到 此类中含有3个读取文件的方法,且返回值分别为str,dict,list,分别应用于不同的场景下。其中读取方式都是一样的,分享这个类的目的就是为了让熟手们不用再在代码中写啦,直接引用这个包就行啦!

代码中也融合了一些之前学习的知识点,包括默认参数,冒号与箭头的含义等~

1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 4 ''' 5 根据不同的读取文件的目的,返回不同的数据类型 6 可以返回str, dict, list 7 ''' 8 9 10 class FileOperation(object):11 12 def __init__(self, filepath, filename):13 self.files = filepath + filename14 15 16 ''' 将全文本读取出来返回一个字符串,并包含各种转行符 '''17 def readFile(self) -> str:18 res = ''19 f = open(self.files, 'r', encoding='utf-8')20 for line in f:21 res += line22 f.close()23 return res24 25 26 ''' 针对键值对形式的文本,逐个读取存入到字典中,返回一个字典类型数据,常用于配置文件中 '''27 def readFile2Dict(self, sp_char = '=') -> dict:28 res = {}29 f = open(self.files, 'r', encoding='utf-8')30 for line in f:31 (k,v) = line.replace('\n', '').replace('\r', '').split(sp_char)32 res[k] = v33 f.close()34 return res35 36 37 ''' 针对需要逐行放入列表中的文本,返回一个列表类型 '''38 def readFile2List(self) -> list:39 res = []40 f = open(self.files, 'r', encoding='utf-8')41 for line in f:42 res.append(line.replace('\n', '').replace('\r', ''))43 f.close()44 return res45 46 47 if __name__ == '__main__' :48 import os49 50 fo = FileOperation(os.getcwd() + '\\temp\\', 'model.html')51 res = fo.readFile()52 print(res)53 54 55 fo = FileOperation(os.getcwd() + '\\temp\\', 'test.txt')56 res = fo.readFile2Dict('|')57 print(res)58 59 60 fo = FileOperation(os.getcwd() + '\\temp\\', 'test.txt')61 res = fo.readFile2List()62 print(res)

今天就分享这个简单的案例,如有其他场景需求,评论或私信我,都会加以改进,分享到这里的,另外特殊文件的读取和写入,我会在后期也一并分享,关注我,后期整理不能少!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约