有關字串讀寫的問題

看板Python作者時間13年前 (2012/06/10 12:49), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串1/1
各位高手,小的最近在練習寫python讀寫檔案的程式 http://www.cmlab.csie.ntu.edu.tw/~left/test/ 用的是3.2板的 但一直出現下面的error UnicodeDecodeError: 'cp950' codec can't decode bytes in position 349-350: illegal multibyte sequence 程式如下 是否可以請大大幫忙一下要怎麼改呢? #-*- coding:utf-8 -*- import glob import os def remove(filename): s=filename.split("\\") try: with open(filename) as fin, open("./output//"+s[1],"w") as fout: for each_line in fin: if each_line.find("^ 返回文章列表")!= -1: break for each_line in fin: if each_line.find("你現在看到的首頁 Layout")!= -1: break else: print(each_line,end="",file=fout) except IOError as ioerr: print('File error:'+ str(ioerr)) #except UnicodeDecodeError: # pass cwd=os.getcwd() os.chdir(cwd) if not os.path.exists("output"): os.mkdir("output") files = glob.glob('./test//*') for file in files: remove(file) -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.175.211 ※ 編輯: left 來自: 140.112.175.211 (06/10 20:50) ※ 編輯: left 來自: 140.112.175.211 (06/10 21:21)

06/10 21:44, , 1F
你的第一行告訴python你的檔用是用utf-8 encode的
06/10 21:44, 1F

06/10 21:45, , 2F
看一下你editor 的設定,確定真的是這樣
06/10 21:45, 2F

06/10 22:30, , 3F
感謝你的回答 我用的是python官網上的編輯器
06/10 22:30, 3F

06/10 22:31, , 4F

06/10 22:31, , 5F
Python 3.2.3 Windows x86 MSI Installer 這要從哪邊改啊?
06/10 22:31, 5F

06/11 17:24, , 6F
簡單說是編碼不是cp950 可是你卻用cp950去解它
06/11 17:24, 6F

06/11 18:01, , 7F
好像是 在這個地方就錯了 for each_line in fin:
06/11 18:01, 7F

06/11 18:03, , 8F
是不是因為 each_line有混一些不是 cp950的code造成的阿
06/11 18:03, 8F

06/11 18:03, , 9F
如果是 這一般要怎麼解決阿?
06/11 18:03, 9F

06/11 19:55, , 10F
open(..., encoding="...")
06/11 19:55, 10F

06/11 20:00, , 11F
encoding這邊是要用哪一種方式阿
06/11 20:00, 11F

06/12 01:36, , 12F
可以了 感謝 buganini
06/12 01:36, 12F
文章代碼(AID): #1Fr9Veo4 (Python)