2017-06-23 23 views
0

私は同じことをする(テキストファイルを処理して結果をアウトファイルに保存する)コードの2つの例を持っています。 しかし、これは私のために動作しません:Pythonコーデックでファイルを保存する

with codecs.open('outfile.txt', 'w', 'utf-8') as outfile: 
    for f in os.listdir(my_files): 
     outfile.write(some_function(codecs.open(f, 'r', 'utf-8'))) 
     outfile.write('\n') 

これは完璧に動作に対し:

outfile = open('outfile.txt', 'w') 
for f in os.listdir(my_files) 
    with open(f) as f_: 
     text = f_.read().decode('utf-8') 
    text = some_function(text) 
    outfile.write(text.encode('utf-8')) 
    outfile.write('\n') 

私は、Pythonのコーデックと間違って何かをやっていますか? ありがとうございました!

+0

このエラーを出力しますか? :) – Roelant

答えて

2

この行...

outfile.write(some_function(codecs.open(f, 'r', 'utf-8'))) 

...任意のテキストを通過することなく、ファイルオブジェクトを開きます。あなたはread()を利用して、次のように動作させたいでしょう:codecs.open(f, 'r', 'utf-8').read()

+0

ああ私の神、それは完全に問題を解決!ありがとうございました:) – fremorie

+0

今私はそのような質問を求めるのはとても馬鹿だと感じています:)何が間違っているのかを理解しようと1時間を費やしました – fremorie

+0

@DariaSmirnova Cheers。それは私たちすべてに起こります。 –

関連する問題