解决Python写入文件编码问题(UnicodeEncodeError: 'ascii' codec can't encode characters in...)

来源:互联网 发布:ipad淘宝不能横屏新版 编辑:程序博客网 时间:2024/06/07 06:56

Python在写入中文的时候,往往会发生编码问题,即

Traceback (most recent call last):
File “<your filename>.py“, line <error line>, in <module>
f.write(…)
UnicodeEncodeError:'ascii' codec can’t encode characters in position <…>: ordinal not in range(…)

在网上搜了一下,发现下面的方法可以解决这个问题.

方法一

文件声明为

# coding=utf-8

开头重载编码

import sysreload(sys) sys.setdefaultencoding('utf-8')

写入文件

file=open('<your filename>','w') #<your filename>是你想要写入的文件名字.

整体代码

# coding=utf-8import sysreload(sys) sys.setdefaultencoding('utf-8')         .        .        .        f=open('filename', 'w')        f.write(...)        f.close()

方法二

导入模块codecs

import codecs

codecs专门用作编码转换.codecs官方文档

import codecs...#写入文件函数 def save_to_file(list, filename):                                                with codecs.open(filename, 'a', encoding='utf-8') as f:                          f.writelines(list)    

参考

阅读全文
0 0
原创粉丝点击