2013-12-09 142 views
1

我試圖在python中創建一個hang子手遊戲。我有我將在txt文件中用於遊戲的文字,我希望逐行閱讀這些文件,並將內容附加到列表中供使用;但是我遇到了這個TypeError。 (類型爲 'builtin_function_or_method' 對象沒有LEN())TypeError:'builtin_function_or_method'類型的對象沒有len()

try: 
    f = open(input("Enter a filename: ")) 
except: 
    print("Cannot open file") 
    quit() 

myList = [] 
myLine = f.readline() 
print(myLine) 
print(len(myLine)) 

while len(myLine) >0 : 
    myList.append(myLine) 
    myLine = f.readline 

錯誤是關於

while len(myLine) >0 : 

這是混淆了我很多的調用打印(MYLINE)和打印(LEN( myLine))正確地工作,輸出行的內容及其長度;它只是當我進入while循環,我得到這個錯誤。

任何幫助將不勝感激, 非常感謝。

回答

4

在while循環,你可能是指:

myLine = f.readline() 

如果不調用方法(如對有括號),那麼你分配方法myLine(而不是方法的結果)和方法沒有定義的長度。

對於它的價值不過,有一個更簡單的方式來獲得文件中的行列表:

myList = list(f) 

應該做的工作很好。

+0

哇,就是這樣,非常感謝。我知道這會是一件愚蠢的事情,但一個小時的搜索,我仍然無法看到它。 再次感謝。 – user3081556

+0

@ user3081556 - 沒問題。高興地伸出一隻手。 – mgilson

相關問題