weixin_47308544 2021-05-05 17:00 采纳率: 100%
浏览 74
已采纳

如何更改write()创建文件的编码?

是这样的,我正在写一个程序,它需要创建一个文件。我的默认打开编码是UTF-8,可我用write()方法创建的文件,它提示我这个问题:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 6: invalid start byte

去记事本看了一下,发现创建的文件编码为ANSI,不能使用UTF-8

 

我尝试使用记事本,用另存为手动更改,以为这样可以解决Python创建文件编码的问题,但是依旧没有效果。

大概代码是这样的:

#文件地址我用path代替
f = open(path,'w')
f.write('test')
f.close()
f = open(path)
f.read(path,encoding='UTF-8')

然后就有了上面的Error。。。

我希望有人帮我解决创建文件编码的问题,最好能从根源解决它,我不想一行一行改(别问我为什么不用VS Code的替换)

  • 写回答

2条回答 默认 最新

  • 波塞冬的祝福 2021-05-05 17:02
    关注

    给语言加一段代码最上面 

    # coding=utf-8
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等