我已經在python中創建了一個簡單的命令行遊戲。 用戶開始通過輸入他們的綽號,其被存儲爲name
如何有條件地從文件中提取行,編輯它們並將它們插回
在用戶的得分被存儲在一個文件中,像這樣的比賽結束:
wins = str(wins)
losses = str(losses)
file = open('scores.py','a')
file.write(name + ": wins = " + wins + " losses = " + losses + "\n\n")
file.close
(I轉換的「勝」和'字符串'損失'的變量,因爲我似乎無法將整數寫入文件,我不知道這是否可能(我確定它是這樣),但我只是不知道該怎麼做。)
我想要玩遊戲的用戶有一個累積分數,即如果他們要玩1場比賽ð贏得6輪,打另一場比賽,贏得2輪,我不希望有2項在「scores.py」文件,我想它說:
*User*: wins = 8 losses = 0
我的唯一方法可以想到這樣做的是,每場比賽結束後,用戶的名字和得分將被追加到'scores.py'文件中,但在此之前,文件被逐行掃描以檢查用戶的暱稱已經有一個輸入的分數。如果在遊戲開始時輸入的名字與在'scores.py'文件中特定行上讀取的名字相同,請提取該行,將字符串值轉換爲整數,並將損失轉換爲整數,然後添加將遊戲當前得分與存儲得分進行比較,然後將其寫回到文件中。
任何和所有的幫助將不勝感激,請原諒,如果代碼是可怕的,解決方案很簡單,我是非常新的python,並不是非常精通一般的代碼。
除非內容是有效的python,否則不要使用'.py'擴展名。這太混亂了。 –
可能重複[是否可以修改文件中的行?](http://stackoverflow.com/questions/5453267/is-it-possible-to-modify-lines-in-a-file-就地) –
您可以使用字典''{'user':[wins,losses],...}''爲所有用戶保存信息,然後使用[pickle](https:// docs .python.org/3/library/ pickle.html#module-pickle)來序列化字典。 – wwii