2016-04-28 7 views
0

ファイルにリストを追加しようとしています。これは私のコードです:リストにファイルを追加します。

これを実行すると、「TypeError:文字バッファオブジェクトが予想されます」というエラーが表示されます。

どうすれば修正できますか?

答えて

-1

新しいファイルを作成して書き込む場合は 'a'を、既存のファイルを開いて書き込む場合は 'r +'で置き換えます。

+1

次に「a」は何ですか? –

+0

私の間違い申し訳ありませんが、私は別の問題の考えを私はsimilairエラーで自分を持っていた。 'a'はシーク位置に関係なくファイルの最後に追加するためのものです。実際の問題は、他の人が示唆しているように、すべてが正しいタイプにする必要があることです。 –

2

あなたのリストには文字列以外の要素が含まれているようです。 file.write()は文字列引数のみを受け入れます。リスト要素を文字列に変換するには、str()関数を使用します。

0

リストにはstr型の要素が含まれている必要があります。または、書き込み前にstrにキャストできます。

1

ファイルにエンコードされた文字列を書き込んでいることを確認してください。

test= open("test.txt", 'a') 
for word in list: 
    test.write(bytes(str(word) + '\n', 'utf-8')) 
test.close() 
+0

今すぐそれを行う必要があります:) –

関連する問題