python3把字符串写入txt文件,控制台输出正常,打开txt文件乱码。程序如下
with open(r\'2333.txt\', \'a\',encoding=\'utf-8\') as f: results = x.get_text() print(type(results)) print(results) f.write(results + "\n")
一般产生乱码的原因是在打开文件时没有加encoding=\'utf-8\',我加了却还是乱码。原因是把字符串写入已经存在了的txt文件2333.txt中,在文件夹新建这个文件时的编码格式默认的是ANSI,一个简单的解决方案就是新建txt文件时设置编码格式为UTF-8即可。excel同理。
如果写入的时候文件是不存在的,open中的‘a’模式会创建文件,此时由于encoding=‘utf-8’,新建的文件自然就是utf-8的编码格式,不会出现中文乱码的问题。
如果对你有用,就给我点个赞吧~