python读写文件报错:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 19: illegal multibyte sequence
编码问题一直不怎么讨人喜欢,处理文本时经常遇到各种编码问题,这不,今天又遇见一个。
>>> print('\xa0') >>>
知道了'\xa0'是什么,问题就不难解决了。
info = info.strip('\xa0')
去掉了这个字符,按理说没什么问题了。
如果还不行,那么查看一下要读取的文件的编码,一般来讲,他是一个UTF-8编码的,那么把他改成ansi编码的,按正常方法读取即可。
f1 = "XXX.txt" href = set() with open(f1,"r") as f: while True: info = f.readline() if info: info = info.strip() href.add(info) else: break
if os.path.exists("WWW.txt") == True: os.remove("WWW.txt") f = open("WWW.txt", "a+") for i in href: f.write('\n') f.write(i) print ("write it successfully.")
...> python unique.py
write it successfully.
成功写入。
另附好帖: