自己学python的open函数时,发现在pycharm里新建一个file_name.txt文本文件,输入中文保存。再用open(file_name,'r+')打开,再去读写时出现了一些问题。再三控制变量利用Notepad++多轮测试后,总结如下:
1.当原文件为utf8编码格式,且不包含中文,则对其进行读操作,正常;对其进行写操作(非中文),正常,文件编码格式不变;当写入中文字符时,文件编码格式变为gbk,此时pycharm中的文件会将你输入的中文显示为16进制数,并会提示你用gbk编码reload文件。2.当原文件为utf8编码格式,若包含中文,此时对其进行读操作,则可能报错UnicodeDecodeError,也可能不报错,但会输出乱码。是否报错跟中文内容有关(当我在测试时在一串中文中加入'航'就报错了,去掉又没报错,好奇怪).写入中文情况与1相同。建议用sys.getfilesystemencoding()查看系统编码格式,再在open()里改encoding。我的a=utf-8 ,open的encoding默认为‘gbk’。至于具体报错原因,有待日后补充喽...
来源:https://www.cnblogs.com/wangyi0419/p/11192593.html