ctrl_ords = range(32) # 取得所有不能顯示的字元和 '\n' 以及 TAB ctrl_ords.remove(ord('\t')) # 去掉 TAB ctrl_char_map = dict.fromkeys(ctrl_ords, None) # 建立對照表 line = line.decode('utf8').translate(ctrl_char_map) # 用 translate 移掉對照表裡的字元str 和 unicode 的 translate 用法不同, 學 unicode 應該就夠了。unicode 版的 translate 要求傳入一個 dict, key 必須是 unicode ordinals, 沒注意到 "ordinals", 一直試都沒效果。value 可以是 unicode ordinals, strings 或 None, None 表示要刪掉該字元。
相關參考資料:
沒有留言:
張貼留言