Python3处理中文字符报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3处理中文字符报错相关的知识,希望对你有一定的参考价值。
对于处理中文字符,我百度了下看大家都在用import codecs 的命令,可我复制过来的代码会报错 这一行 f.write(codecs.BOM_UTF8) ,有哪位大神能帮忙看看嘛?
报错信息
Traceback (most recent call last):
File "C:\Users\18214\Desktop\tool summary\Python\CSV.py", line 36, in <module>
f.write(codecs.BOM_UTF8)
TypeError: write() argument must be str, not bytes
>>>
源代码:
import codecs
with open('ExcelUtf8.csv', 'w') as f:
t = u'中国人'
f.write(codecs.BOM_UTF8)
f.write('%s,1,3\n' % t.encode('utf-8'))
time.strftime:格式化字符串中含中文报错处理
import time print(time.strftime("%Y年%m月%d日 %H时%M分%S秒",time.localtime()))
报错:
UnicodeEncodeError: ‘locale‘ codec can‘t encode character ‘u5e74‘ in position 2: Illegal byte sequence
打印当前时间
import time print(time.localtime())
运行结果:
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=22, tm_sec=48, tm_wday=2, tm_yday=30, tm_isdst=0)
格式化输出
import time print(time.strftime("%Y{}%m{}%d{} %H{}%M{}%S{}",time.localtime()).format(‘年‘,‘月‘,‘日‘,‘时‘,‘分‘,‘秒‘))
运行结果:
2019年01月30日 11时22分48秒
为什么不能直接写成字符串,没有理解。
以上是关于Python3处理中文字符报错的主要内容,如果未能解决你的问题,请参考以下文章
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
python3.3版本,导入带有中文字符的.py文件 提示 (unicode error) 'utf-8' codec can't decode