鱼C论坛

 找回密码
 立即注册
查看: 1467|回复: 5

[已解决]write写入不了中文

[复制链接]
发表于 2022-2-4 16:40:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序是这样的:
f=open("t.txt","w")
f.write("太阳")
f.close()
用write写字符串、列表都报错,提示UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-1: character maps to <undefined>
但是系统默认编码是utf-8,不知道怎么解决
最佳答案
2022-2-4 18:47:34



在 open 函数中设置 encoding = "utf-8" ,设置读写文件的编码解码方式

或者,打开你的 txt 文件夹,选择另存为,会弹出另存为窗口,在窗口的右下方有编码方式,设置为 ANSI 即可

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-4 18:47:34 | 显示全部楼层    本楼为最佳答案   



在 open 函数中设置 encoding = "utf-8" ,设置读写文件的编码解码方式

或者,打开你的 txt 文件夹,选择另存为,会弹出另存为窗口,在窗口的右下方有编码方式,设置为 ANSI 即可

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-4 23:04:33 | 显示全部楼层
Twilight6 发表于 2022-2-4 18:47
在 open 函数中设置 encoding = "utf-8" ,设置读写文件的编码解码方式

或者,打开你的 txt 文件 ...

好的,我试试!!!感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-4 23:15:25 | 显示全部楼层
Twilight6 发表于 2022-2-4 18:47
在 open 函数中设置 encoding = "utf-8" ,设置读写文件的编码解码方式

或者,打开你的 txt 文件 ...

使用第一个方法,已经可以读取了,但是写入使用print输出的是数字,不是汉字
另外,如果写入的是列表,依旧会报错,提示写入参数必须是字符串不能是列表,但是我看视频学习上演示,write是可以写入列表的,一般写入列表是用writelines,但是这个也会报错,真困扰啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-5 09:42:06 | 显示全部楼层
是小雅啊 发表于 2022-2-4 23:15
使用第一个方法,已经可以读取了,但是写入使用print输出的是数字,不是汉字
另外,如果写入的是列表, ...



writelines 写入列表的前提是列表中的元素都是字符串,才能依次将其写入

读取文件内容使用的是 read 函数,直接打印是显示文件的字节数

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-2-5 12:15:12 | 显示全部楼层
Twilight6 发表于 2022-2-5 09:42
writelines 写入列表的前提是列表中的元素都是字符串,才能依次将其写入

读取文件内容使用的是 re ...

好的!理解啦,非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 08:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表