在日常開發(fā)過程中,經(jīng)常遇到需要讀取配置文件,這邊就涉及到一個(gè)文本讀取的方法。 這篇文章主要以Python讀取文本的基礎(chǔ)方法為本,添加讀取整篇文本返回字符串,讀取鍵值對(duì)返回字典,以及讀取各個(gè)項(xiàng)返回列表的應(yīng)用。至于讀取xml文件或者加密文件的其他方法這里不做介紹,后續(xù)會(huì)詳細(xì)講解。 這里直接上模塊案例,可以看到 此類中含有3個(gè)讀取文件的方法,且返回值分別為str,dict,list,分別應(yīng)用于不同的場景下。其中讀取方式都是一樣的,分享這個(gè)類的目的就是為了讓熟手們不用再在代碼中寫啦,直接引用這個(gè)包就行啦! 代碼中也融合了一些之前學(xué)習(xí)的知識(shí)點(diǎn),包括默認(rèn)參數(shù),冒號(hào)與箭頭的含義等~ 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 4 ''' 5 根據(jù)不同的讀取文件的目的,返回不同的數(shù)據(jù)類型 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 ''' 將全文本讀取出來返回一個(gè)字符串,并包含各種轉(zhuǎn)行符 '''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 ''' 針對(duì)鍵值對(duì)形式的文本,逐個(gè)讀取存入到字典中,返回一個(gè)字典類型數(shù)據(jù),常用于配置文件中 '''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 ''' 針對(duì)需要逐行放入列表中的文本,返回一個(gè)列表類型 '''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) 今天就分享這個(gè)簡單的案例,如有其他場景需求,評(píng)論或私信我,都會(huì)加以改進(jìn),分享到這里的,另外特殊文件的讀取和寫入,我會(huì)在后期也一并分享,關(guān)注我,后期整理不能少! |
|