我在win7 + python3.3中,cmd编码页面是936。
>>> import re
>>> if(re.search(r"仟|佰|千|百","百万")):print("ok1")
...
ok1
>>> if(re.search(u"仟|佰|千|百","百万")):print("ok2")
...
ok2
当我在g:\ test_number.py中将其保存为以下内容时。
# -*- coding: utf-8 -*-
import re
if(re.search(r"仟|佰|千|百","百万")):print("ok1")
if(re.search(u"仟|佰|千|百","百万")):print("ok2")
并运行它python g:\\test_number.py
,我收到错误:
C:\Windows\system32\cmd.exe /c (python \test_number.py)
File "\test_number.py", line 3
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb0 in position 3:
invalid start byte
shell returned 1
Hit any key to close this window...
怎么回事? 当我更改我的代码时,也会出现同样的错误。
# -*- coding: utf-8 -*-
import re
output=open("g://number","w",encoding="utf-8")
if(re.search(r"仟|佰|千|百","百万")):output.write("ok1")
if(re.search(u"仟|佰|千|百","百万")):output.write("ok2")
output.close()
答案 0 :(得分:2)
确保编辑器配置为使用utf-8编码写入文件。