1
我目前正在編寫一個靜態函數,其中打開的文件對象作爲參數傳入。然後它讀取該文件,如果該行爲空,則返回False。如果該行不是空的,它將使用相應的行加上接下來的三行來創建Person類的新對象(該類是在我的模塊中設計的)。出於某種原因,我的if語句沒有捕捉換行符,無論我嘗試了什麼方法,並且由於它而不斷收到錯誤。我究竟做錯了什麼?如果語句不捕獲文件中的空行
@staticmethod
def read_person(fobj):
p_list = []
for line in fobj:
if line.isspace() or line == "\n":
return False
else:
p_list.append(line)
return Person(p_list[0],p_list[1],p_list[2],p_list[3])
感謝您的幫助!
你有沒有嘗試做線==「」,而不是?我不完全確定,但我認爲讀取緩衝區使用\ n作爲一個停止,所以它不會包含\ n –
您是否嘗試過打印'repr(line)'來查看它看到的內容?你可以做'如果不line.split()' –
我不認爲這是你的錯誤,但我需要看到更多的程序,以確保。它還不清楚文件的格式是什麼(多於一條記錄?) –