在python程序中,经常要用到字符文本的读和写。用py自带的 读read 写write,定义字符编码比较麻烦。
而用第三方 codecs 模块,在读写字符文本时,可以指定字符编码,就好用很多。
下面,我用 codecs 模块,自己编写了一个def函数。
调用读写函数,指定数据,可以用一行代码实现字符文本的读写功能。
分享构建codecs读写函数的思路:1.读 2.写 ---->>方便读写时,编码一致,就不会报错
读:1)读的标识,2)文件路径,3)文件名,4)读的方式,5)读字符的编码
写:1)写的标识,2)文件路径,3)文件名,4)写的方式,5)写字符的编码
所以构建这个函数,需要指定输入4个参数,编码不修改就可以设定一个默认值
1.读写的标识(为整数0则读,其他任何数据都写 ——这个ok了,单独写0时,以"0"形式写入),
2-3.文件路径,文件名这个读写时指定。(注意文件名要带后缀名)
文件路径和文件名分开,是方便同目录读写,最开始定义一个目录后,直接调用目录,这样读写函数的代码不用显得很长。
4.读写方式:
"r"-只读,"rb"-只读-内容为二进制,
"a"-仅写-原文后面继续写,
"ab"-仅写-以二进制形式在原文后面继续写,
"w"-仅写-替换原文写,"wb"-仅写-以二进制形式替换原文写
5.编码:'utf-8',"gbk","gb2312","gb18030",utf-8可以存特殊字符,如"㘃"字等繁体字。gb18030 兼容 gbk gb2312。
编码定义成默认值,读写调用时,可不用输入,当要修改默认编码时,输入要修改的编码即可
OK!,使用说明介绍完成,下面直接上代码:
首先要先在py文件最上面引入模块,无模块的,自己pip下载哦
[Python] 纯文本查看 复制代码 import codecs
def code_du_xie(qu,path,name,model,bianma="utf-8"):#读/写字符文本 函数
if qu==0:#为整数0,则打开 读取文件
#打开文件并读取
w=codecs.open(path+name,model,bianma)#打开文件
leirong=w.read()#读全部
w.close()#关闭文件
return(leirong)#返回参数
else:#非整数0,都写字符到文件,下面if判断,非字符或数字,则报错出异常
if isinstance(qu,str)==True or isinstance(qu,int)==True or isinstance(qu,float)==True:
w=codecs.open(path+name,model,bianma)#打开文件
w.write(qu)#写
w.close()#关闭文件
leirong="写入文件ok"
return(leirong)#返回参数
else:#不是字符或数字,抛出异常
ex=Exception("读写内容错误:详情函数:code_du_xie()")
raise ex#抛出异常
感觉有用,喜欢的就给个赏呗!
|