2016-05-29 31 views
0

我想用空格替換所有的標籤,所以我可以把我的昏迷分離文本放在另一個文件中的一行。現在,我的代碼如下所示:UnicodeDecodeError由python正則表達式

from __future__ import print_function 
import re 
import ast 

f = open('sample_test.txt', 'r') 
g = open('sample_test1.txt', 'w') 

for line in f: 
     c = re.sub(r'\R', r' ', line.rstrip()) 
     print (c, file = g) 
f.close() 

現在的問題是,我得到這個錯誤:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1944: character maps to <undefined> 
+0

錯誤指向哪一行? –

回答

0

打開文件作爲UTF-8,你也不需要一個正則表達式,如果你只想替換標籤:

import io 

with io.open('sample_test.txt', encoding="utf-8") as f, io.open('sample_test1.txt', 'w', encoding="utf-8") as g: 
    for line in f: 
     g.write(line.replace("\t"," ")) 
+0

Thx解決了錯誤的問題,但對於某些原因,它不會用空白替換標籤。正則表達式也不起作用。任何想法,而只是將相同的內容複製到g ??? – Vedad

+0

你確定你有標籤,而不只是空格嗎?如果你打印(repr(line))'你看到了什麼? –

+0

現在,我希望將\ t更改爲\ n。 Thx現在很多,它完全有效:D – Vedad