2016-04-28 90 views
0

我想追加一個列表到文件中。這是我的代碼:在Python中追加一個列表到一個文件

test= open("test.txt", 'a') 
for word in list: 
    test.write(word) 
test.close() 

當我運行它,我得到一個「類型錯誤:預期的字符緩衝區對象」錯誤。

我該如何解決?

回答

-1

如果您想創建一個新文件並寫入它或'r +'來打開現有文件並寫入該文件,可以用'w'代替'a'。

+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

現在應該這樣做:) –

相關問題