這個模塊是一個簡單的待辦事項應用程序,我與Python做的一部分......的Python:列表賦值超出範圍
def deleteitem():
showlist()
get_item = int(raw_input("\n Enter number of item to delete: \n"))
f = open('todo.txt')
lines = f.readlines()
f.close()
lines[get_item] = ""
f = open('todo.txt','w')
f.writelines(lines)
f.close()
showlist()
F中的行數明顯變化項目添加到列表中..這裏的問題是,例如如果在只有9個文件中的行(或其他任何不在範圍內),用戶輸入「10」,退出預期有:
IndexError: list assignment index out of range
我可以添加到什麼該模塊,以便它提示用戶輸入範圍內的項目?我假設可能是一個嘗試塊...或者是有一種方法來捕捉異常..我猜測有一個簡單的方法來做到這一點...
謝謝,這工作。 我正在使用Python 2.5.x ..所以我越來越掛在'與'。 我在腳本中添加了「from future__import__ with_statement」並全部設置完畢。 我想在你的代碼中,行 「if len(lines)== 0:」 可能需要縮進? ...直到我這麼做,我得到一個錯誤 – cit 2010-03-11 15:41:52
@skylarking:它不應該需要縮進,並且該部分應該正常工作,因爲我上面有它。也許你不小心誤會了? – 2010-03-11 15:44:44
這很可能導致我犯了一個錯誤......如果您好奇,我確實在此發佈完整的待辦事項應用程序作爲答案。我確信有很多改進可能會發生在那裏 – cit 2010-03-11 16:24:57