美文网首页
Python读写文件时,遇到中文编码需要怎么处理?

Python读写文件时,遇到中文编码需要怎么处理?

作者: 小暖冰2333 | 来源:发表于2017-05-19 17:47 被阅读0次

python新手一枚,最近在试着用python读写复制中文txt文件,记录下自己的解决方法。

文章一共分为2个部分,1.如何用Python读取中文txt文件,2.如何用Python(复制)写入中文txt文件

前提声明:
txt文本为utf-8格式的中文文件
Python为3.6版本,Windows环境运行,装的是Anaconda

1.如何用Python读取中文文件?

在open函数末端加一个encoding声明就好了,encoding声明里用的编码是文本自己本身所用的编码,代码如图

inpute = open(copy_file,encoding= 'utf-8')
data = inpute.read()

如果你家文件是用gbk方式编码的话,那么把上述的utf-8该文gbk就好

txt文件的编码可以直接看


Paste_Image.png

楼主所遇到的文件读取问题,就这样被解决了。
其它情况暂无,所以自己就没有试~如果有情况,以后再更

2.如何用Python(复制)写入中文txt文件?

在这里,你可以选择2种不同的解决方法

方法一:定义声明好编码格式

首先你要做的,是在打开写入文件时,声明encoding编码
put_in = open(becopyed_file,"w+",encoding= 'utf-8')
之后,在写入文件的时候设置好编码方式,先用encode编码,再用decode解码文件
put_in.write(str(data.encode('utf-8').decode('utf-8')))

这样的话,之后输出的文件格式,就会是之前那原模原样的中文txt了

方法二:利用codecs模块

先进行导入
import codecs
之后在打开文件的时候,在open函数前设置好codecs命令
f = codecs.open(becopyed_file,"w+",encoding= 'utf-8')
最后写入文件就好了
f.write(content)

这样的方法,也能解决写入中文txt文件的问题,不过文件里的格式会乱掉

比如,原来有空格,有分段的地方,在用codecs模块后,只会变成没分段没空行的一个整体,有强迫症的同学要额外注意下

用这两种方法,就能圆满解决txt文件编码的一部分问题啦~

欢迎交流你在学习python中遇到的问题哦

相关文章

网友评论

      本文标题:Python读写文件时,遇到中文编码需要怎么处理?

      本文链接:https://www.haomeiwen.com/subject/vmgyxxtx.html