Python 文件写入错误:'w+' 模式和编码问题
Python 文件写入错误:'w+' 模式和编码问题
在 Python 中,使用 with open('./log.txt', 'w+', 'gbk') as f: 写入文件时,可能会遇到错误。错误原因是使用了错误的文件打开模式。
错误原因:
- 文件打开模式错误:
'w+'模式适用于写入文本文件,而'wb+'模式适用于写入二进制文件。由于'gbk'编码是字符编码,因此需要使用'wb+'模式。 - 编码错误:
'gbk'编码在处理中文时可能会出现乱码问题,建议使用'utf-8'编码。
解决方案:
将代码修改为如下:
with open('./log.txt', 'wb+') as f:
f.write('2023-09-20 21:34:56 张波 号码: 13297083806 累计消耗的流量是: 16821 GB 本时段消耗流量: 271 GB'.encode('utf-8'))
解释:
'wb+'模式:以二进制模式打开文件,并允许读写操作。'utf-8'编码:一种常用的字符编码,可以支持多种语言的字符。encode('utf-8'):将字符串编码为utf-8编码的字节序列。
通过以上修改,代码就能正确地将文本写入文件了。
原文地址: https://www.cveoy.top/t/topic/ePMe 著作权归作者所有。请勿转载和采集!