2016-08-07 3 views
0

韓国語のテキストファイルをPythonで処理しようとしていますが、utf-8でファイルをエンコードしようとすると失敗します。utf-8を使用した韓国のtxtファイルのエンコーディング

#!/usr/bin/python 
#-*- coding: utf-8 -*- 


f = open('tag.txt', 'r', encoding='utf=8') 
s = f.readlines() 

z = open('tagresult.txt', 'w') 
y = z.write(s) 
z.close 
============================================================= 
Traceback (most recent call last): 
    File "C:\Users\******\Desktop\tagging.py", line 5, in <module> 
    f = open('tag.txt', 'r', encoding='utf=8') 
TypeError: 'encoding' is an invalid keyword argument for this function 
[Finished in 0.1s] 

================================================================== 

そして私はちょうどUTF-8でエンコードされた韓国txtファイルを開いたとき、フォントは次のように壊れています。私に何ができる?

\ XC1 \ XC1 \ xbe \ xc6 \ XC1 \ XF6 \ XB4 \ XC2 \ n 'は、 ' \ XC1 \ XC1 \ xbe \ xc6 \ xc7 \ XCF \ XB0 \ XC5 \ XB5 \ XE7 \ XBF \ xe4 \ n '、 ' \ xc1 \ xc1 \ xbe \ xc6 \ xc7 \ xcf \ xbd \ xc3 \ xb4 \ xc2 \ n '、 ' \ xc1 \ xcb \ xbc \ xdb \ xc7 \ xd1 \ xb5 \ xa5 \ XBF \ xe4 N \ ' ' \ XC1 \ XD6 \ XB1 \ xb8 \ XBF \ xe4パイソン2において

+0

2がちょうどopenを使用しないでください、あなたはこのように、ファイルディスクリプタをクローズ/開口部を管理するためにcontext managerステートメントを使用する必要がありますか? – WombatPM

+0

私はPython 2を使用していますが、誤植を訂正しても機能しません。 –

+0

[Backporting Python 3 open(encoding = "utf-8")をPython 2に公開](http://stackoverflow.com/questions/10971033/backporting-python-3-openencoding-utf-8-to-python -2) – tripleee

答えて

0

open functionを符号化パラメータを取らない\。代わりに、行を読んで、それをUnicodeに変換します。このarticleキッチン(キッチンシンクのような)モジュールは、Python 2.xでユニコードを扱うための詳細と軽量ユーティリティを提供します。

0

私は韓国語を知らない、としようとするサンプル文字列を持っていないが、ここではあなたのためにいくつかのアドバイスがあります:

f = open('tag.txt', 'r', encoding='utf=8') 

あなたがここにタイプミスがあり、utf-8ないutf=8これはあなたが持っている例外について説明します。

open()のデフォルトモードは 'r'なので、再度定義する必要はありません。それは、Python 2または3である場合は、教えていただけます

with open('tagresult.txt', 'w') as f: 
    f.write(s) 
関連する問題