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的編碼格式,不會出現中文亂碼的問題。
如果對你有用,就給我點個贊吧~