How to implement file operation helper class in Python

王林
Release: 2023-05-05 22:19:14
forward
1766 people have browsed it

1. Business requirements

When using Python for business development, you need to save some data to local file storage to facilitate subsequent data analysis and display.

2. Requirements Analysis

By looking at the requirements, it can be concluded that data needs to be stored as local files (this is the operation involving files). File operations are basic content and you can directly use commonly used files. The file operation is encapsulated into a file and can be called directly later.

3. Implementation method

3.1. Python file help class

#文件操作
 
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('\n'+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
Copy after login

3.2. Usage examples of Python file help class

import FileOPC
 
print('\n写入信息到文件中')
filePathAndName2='file/test.txt'
tmpstr="测试写入内容abcdefg"
FileOPC.WriteInfo(tmpstr,filePathAndName2)
 
print('\n将字符串转为字节1')
tmpbytes1=str.encode('测试写入内容','utf-8')
print(tmpbytes1)
print('\n将字符串转为字节2')
tmpbytes2=bytes('测试写入内容','utf-8')
print(tmpbytes2)
 
print('\n追加信息到文件中')
FileOPC.AppedInfo('追加信息123',filePathAndName2)
FileOPC.AppedInfo('测试追加信息456',filePathAndName2)
 
print('\n切分字符串')
splitStr="Alice in wonderlan 切割字符串,1,2,3,45,6"
tmpSplit = splitStr.split(',')
print(tmpSplit)
 
print('\n写入对象信息到文件')
filePathAndName3='file/test2.txt'
FileOPC.WriteObj('测试写入对象信息112254799abcadshofdsaujfoduasfoj',filePathAndName3)
 
print('\n读取文件对象')
tmpObj = FileOPC.ReadObj(filePathAndName3)
print(tmpObj)
 
import json
print('\n写入信息保存为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('\n读取Json文件信息')
tmpJson=FileOPC.ReadInfoToJson(filePathAndName4)
print(tmpJson)
Copy after login

3.3. Example execution results

How to implement file operation helper class in Python

How to implement file operation helper class in Python

The above is the detailed content of How to implement file operation helper class in Python. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template