亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python以二進制模式寫文件如何換行?

Python以二進制模式寫文件如何換行?

慕森王 2019-05-20 17:30:06
scrapy通過Pipeline保存數據(txt格式)時,出現了有些數據'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')...于是我就用二進制追加的模式,來保存數據,并統一成utf8,修改如是:withopen(path,'ab')asf:f.write(item['title'].encode('utf-8',errors='ignore')+'\n')但是'\n'又不是bite,所以改成了b'\n',但是這樣做卻不能換行。問題如下:像上面的問題該如何解決?如果不以二進制的方式,如何解決編碼問題?(注:item項都是字符串)學藝不精,麻煩各位大佬指點一二了!??!
查看完整描述

2 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

withopen(path,'w')asf:
為什么不用w直接寫呢?這個uft8就可以直接寫進txt文件了啊,為啥要用二進制?
                            
查看完整回答
反對 回復 2019-05-20
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

withopen(file,mode='a',encoding='utf-8')asf:
追加模式不會刪除一切寫入的喲如果要寫入的字符一開始是utf-8編碼,否則就要轉一下編碼打開文件的時候指定編碼就好了
                            
查看完整回答
反對 回復 2019-05-20
  • 2 回答
  • 0 關注
  • 2003 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號