关于python内open函数encoding编码问题

时间:2023-01-06 19:30:30

自己学python的open函数时,发现在pycharm里新建一个file_name.txt文本文件,输入中文保存。再用open(file_name,'r+')打开,再去读写时出现了一些问题。再三控制变量多伦测试后,总结如下:

1.当原文件为utf8编码格式,且不包含中文,则对其进行读操作,正常;对其进行写操作(非中文),正常,文件编码格式不变;
当写入中文字符时,文件编码格式变为gbk,此时pycharm中的文件会将你输入的中文显示为16进制数,并会提示你用gbk编码reload文件。
2.当原文件为utf8编码格式,若包含中文,则可能报错UnicodeDecodeError,也可能不报错,但会输出乱码。是否报错跟中文内容有关。
写入中文情况与1相同,建议用sys.getfilesystemencoding()查看系统编码格式,再在open()里改encoding。我的a=utf-8 ,open的encoding默认为‘gbk’

  

关于python内open函数encoding编码问题


关于python内open函数encoding编码问题