scrapy通過Pipeline保存數(shù)據(jù)(txt格式)時(shí),出現(xiàn)了有些數(shù)據(jù)'gbk'codeccan'tencodecharacter,代碼如下。classTxtPipeline(object):defprocess_item(self,item,spider):path=os.getcwd()filename=path+'\data\%s.txt'%item['classic']withopen(filename,'a')asf:f.write(item['title']+'\n')f.write(item['time']+'\n')f.write(item['text']+'\n')...于是我就用二進(jìn)制追加的模式,來保存數(shù)據(jù),并統(tǒng)一成utf8,修改如是:withopen(path,'ab')asf:f.write(item['title'].encode('utf-8',errors='ignore')+'\n')但是'\n'又不是bite,所以改成了b'\n',但是這樣做卻不能換行。問題如下:像上面的問題該如何解決?如果不以二進(jìn)制的方式,如何解決編碼問題?(注:item項(xiàng)都是字符串)學(xué)藝不精,麻煩各位大佬指點(diǎn)一二了?。?!
Python以二進(jìn)制模式寫文件如何換行?
慕森王
2019-05-20 17:30:06