由于某種原因,我在 python 中得到了錯誤,當檔案中有 7 個元素時,我不明白這些是如何超出索引的攻擊 = user_stats.readlines()[2] IndexError: list index out of range
這是代碼:
with open(username '.txt', 'r') as user_stats:
level = user_stats.readlines()[1]
attack = user_stats.readlines()[2]
health = user_stats.readlines()[3]
max_health = user_stats.readlines()[4]
exp = user_stats.readlines()[5]
money = user_stats.readlines()[6]
這是txt檔案:
username
1
1
25
25
0
0
uj5u.com熱心網友回復:
第一次呼叫 readlines() 讀取整個檔案并到達檔案末尾。每個后續呼叫都回傳一個空字串,因為您已經到達檔案末尾。
無需多次呼叫 readlines() 。
uj5u.com熱心網友回復:
好吧,我想通了,我認為這是最好的方法,但它有效
with open(username '.txt', 'r') as user_stats:
level = user_stats.readlines()[1]
with open(username '.txt', 'r') as user_stats:
attack = user_stats.readlines()[2]
with open(username '.txt', 'r') as user_stats:
health = user_stats.readlines()[3]
with open(username '.txt', 'r') as user_stats:
max_health = user_stats.readlines()[4]
with open(username '.txt', 'r') as user_stats:
exp = user_stats.readlines()[5]
with open(username '.txt', 'r') as user_stats:
money = user_stats.readlines()[6]
uj5u.com熱心網友回復:
首先,正如上面的人所說,代碼應該看起來像這樣
with open('username.txt', 'r') as user_stats:
lines = user_stats.readlines()
level = lines[1]
attack = lines[2]
health = lines[3]
max_health = lines[4]
exp = lines[5]
money = lines[6]
print(username, level, attack, health, max_health, exp, money) #print to check if everything is right
其次,諸如統計資訊之類的東西應該存盤在物件中,但據我所知,python 建構式有一些限制,所以我在這里幫不上什么忙。更多關于建構式
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/449352.html
下一篇:將檔案保存到結構
