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

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文件的编码可以直接看

83e62e12e91f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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中遇到的问题哦

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值