今天写了一个python解析xml的脚本,然后把一些log写入到log文件里面,结果写入的途中出现了下图的问题
这个问题之前我以为是gbk的原因,结果把python里面的编码设置为gbk之后还是无效。
百度搜索了一下没发现什么好的解决办法,问了问同学,他说应该是打开文件的编码问题,恍然大悟。
# encoding: UTF-8
__author__ = 'Arthur'
import codecs
import re
def changeFileName(oldDirname):
text=oldDirname
m = re.search(r'^\S+\-([0-9]+)\-\S+_(\d+)\.jpg$', text)
if m:
number1=m.group(1)
number2=m.group(2)
print("n1:"+number1)
print("newdirname:"+number2)
else:
print ('not search')
def writeline(string,file):
if(file):
if(string):
string+='\n'
file.write(string)
if __name__=='__main__':
f=codecs.open('test.txt','w','utf-8')
writeline("test1",f)
writeline("test2",f)
#str="==================================test3======================================"
strs="Separate button for Umlauts (full keyboard with Umlaute e.g. Ä-Ö-Ü for German language)"+str(1)
writeline(strs,f)
如果直接用open方式打开的话,就会报那个错。
值得注意的是,这么写入过后如果要看是否写入成功,也需要把编辑器的编码设置为utf-8.