本文小编为大家详细介绍“Python怎么实现文件操作帮助类”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现文件操作帮助类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
一、业务需求
在使用Python进行业务开发的时候,需要将一些数据保存到本地文件存储,方便后面进行数据分析展示。
二、需求分析
通过查看需求可得出:需要将数据存储为本地文件(这就是涉及到文件的操作),文件操作属于基础内容,可以直接将常用的文件操作封装为一个文件,后面使用直接调用即可。
三、实现方法
3.1、Python文件帮助类
#文件操作 import pickle #读取文件的所有内容(返回字符串) def ReadFileAllInfoAsStr(filePathAndName): try: with open(filePathAndName) as fileObj: fileInfos=fileObj.read() except FileNotFoundError: msg="很抱歉,文件【"+filePathAndName+"】不存在" print(msg) else: return fileInfos #读取文件的所有内容(返回列表) def ReadFileAllInfoAsList(filePathAndName): try: with open(filePathAndName) as fileObj: fileInfos=fileObj.readlines() except FileNotFoundError: msg="很抱歉,文件【"+filePathAndName+"】不存在" print(msg) else: return fileInfos #写入信息到文件(覆盖原有内容) def WriteInfo(needWriteInfo,filePathAndName): try: with open(filePathAndName,'wb') as fileObj: tmpBytes = bytes(needWriteInfo,'utf8') fileObj.write(tmpBytes) except Exception as e: print(e) #追加信息到文件中 def AppedInfo(needWriteInfo,filePathAndName): try: with open(filePathAndName,'ab') as fileObj: tmpBytes = bytes(' '+needWriteInfo,'utf8') fileObj.write(tmpBytes) except Exception as e: print(e) #写入对象到文件 def WriteObj(needWriteInfo,filePathAndName): try: with open(filePathAndName,'wb') as fileObj: pickle.dump(needWriteInfo,fileObj) except Exception as e: print(e) #读取文件内容 def ReadObj(filePathAndName): try: with open(filePathAndName,'rb') as fileObj: tmpObj = pickle.load(fileObj) except Exception as e: print(e) else: return tmpObj import json import codecs #写入信息为json文件 def WritInfoAsJson(needWriteInfo,filePathAndName): try: with codecs.open(filePathAndName,'wb',encoding='utf-8') as fileObj: json.dump(needWriteInfo,fileObj) except Exception as e: print(e) #读取json文件信息 def ReadInfoToJson(filePathAndName): try: with codecs.open(filePathAndName,'rb',encoding='utf-8') as fileObj: tmpJson=json.load(fileObj) except Exception as e: print(e) else: return tmpJson
3.2、Python文件帮助类的使用示例
import FileOPC print(' 写入信息到文件中') filePathAndName2='file/test.txt' tmpstr="测试写入内容abcdefg" FileOPC.WriteInfo(tmpstr,filePathAndName2) print(' 将字符串转为字节1') tmpbytes1=str.encode('测试写入内容','utf-8') print(tmpbytes1) print(' 将字符串转为字节2') tmpbytes2=bytes('测试写入内容','utf-8') print(tmpbytes2) print(' 追加信息到文件中') FileOPC.AppedInfo('追加信息123',filePathAndName2) FileOPC.AppedInfo('测试追加信息456',filePathAndName2) print(' 切分字符串') splitStr="Alice in wonderlan 切割字符串,1,2,3,45,6" tmpSplit = splitStr.split(',') print(tmpSplit) print(' 写入对象信息到文件') filePathAndName3='file/test2.txt' FileOPC.WriteObj('测试写入对象信息112254799abcadshofdsaujfoduasfoj',filePathAndName3) print(' 读取文件对象') tmpObj = FileOPC.ReadObj(filePathAndName3) print(tmpObj) import json print(' 写入信息保存为Json文件') filePathAndName4='file/testJson.json' jsonDatas={"101001":[1,3,5,7,9],"101009":["张三","李四",'王五']} #jsonDatas=[2,3,5,7,11,13] FileOPC.WritInfoAsJson(jsonDatas,filePathAndName4) print(' 读取Json文件信息') tmpJson=FileOPC.ReadInfoToJson(filePathAndName4) print(tmpJson)
3.3、示例执行结果