10
我是一名初學者程序員,正在爲絕對的初學者準備書籍python。我遇到了一個問題,試圖爲瑣事遊戲寫出高分的功能。當函數'highscore(user,highscore):'被調用時,我嘗試相應地分配參數,這樣我就可以將信息醃製到一個文件中供以後使用。但是我遇到了一個錯誤,試圖轉儲所需的信息。write()參數必須是str,而不是字節
def highscore(user, highscore):
'''stores the players score to a file.'''
import pickle, shelve
user = ''
highscore = 0
#Hscore = shelve.open('highscore.dat', 'c')
Hscore = open('highscore.txt', 'a')
pickle.dump(user, Hscore)
pickle.dump(highscore, Hscore)
#Hscore.sync()
Hscore.close()
,因爲我的工作,通過這本書,也看到在行動我使用他們太多,但碰上自己的一套錯誤的嘗試貨架。所以現在忽略'#'。
在部分pickle.dump是我產生錯誤的地方。我不斷得到(如標題所示)寫入參數錯誤。
我不明白爲什麼它不會將它們識別爲字符串。因爲當它們在主函數中被定義時,它確實是一個字符串。
嘗試使用'ab'模式。無論何時使用'pickle',在文件模式下都應該有'b'。 –
您可以通過使用Google搜索您的問題標題找到其他一些有用的信息。 – TigerhawkT3