2015-05-21 19 views
-1

如何從python 3中的txt文件獲取文本本身? 所以,我已經包含拉開這樣一個文件:python從txt文件編碼定義的變量

"name":"\u0414\u043e\u0436\u0434\u044c" 

我寫的代碼是:

with open(r'C:\Temp\f1.txt','r') as f1: 
    data=f1.read() 
f1.close() 
#print(data) 
f2 = open(r'C:\Temp\f2.txt','w+',encoding='utf-8') 
f2.write(data) 
f2.close() 

我不知道爲什麼數據變種是不是「UTF-8」編碼?

,如果我寫的,像這樣:

var = '"name":"\u0414\u043e\u0436\u0434\u044c"' 
print(var) 

一切都很好布萊恩。輸出數據爲文本

+0

什麼讓你覺得它沒有編碼?一切進行得如何? –

+1

當你使用open()作爲f1''時,你不需要調用f1.close()。 – pzp

+0

我的意思是我需要得到的文本,而不是unicode – Leo

回答

1

在Python 3這是有點麻煩,你必須將字符串轉換爲字節,然後再對其進行解碼:既然你存儲在一個文件中的文本

bytes(var, 'ascii').decode('unicode-escape') 

,你可以在二進制模式下讀取文件。然後它更清潔:

with open(r'C:\Temp\f1.txt', 'rb') as f: 
    var = f.read() 

var.decode("unicode-escape") 
+0

這是幫助!字節(數據,'ascii')。decode('unicode-escape') 非常感謝 – Leo