我必須爲我的畢業論文編寫一個簡單的垃圾郵件過濾器。我的目的是打開並閱讀兩個不同的列表,一個用於垃圾郵件和一個用於火腿。名字(cartella)就像英文文件夾。問題是,當我打印垃圾郵件時,它只打印數組spam[0]
的第一個元素,當我打印長度時打印1,但它應該打印1500.問題出在功能上。我需要幫助。Python - 試圖創建一個簡單的反垃圾郵件過濾器
這是我的代碼:
import nltk
import os
def importalista(cartella):
lista=[]
listafile=os.listdir(cartella)
for file in listafile:
f=open(cartella + file, 'r+')
lista.append(f.read())
f.close()
return lista
spam = importalista('C:\\enron1\\spam\\')
ham = importalista('C:\\enron1\\ham\\')
print(len(spam))
由於'return'語句是你的'for'循環內,你的循環將只運行一次迭代。如果將'return'移出'for'循環,它將在'for'循環完成後返回。 – khelwood
您的退貨聲明不應縮進,對吧?現在你閱讀第一個文件後返回。 – user1337
感謝您的回覆。那麼我應該把迴歸線放在哪裏? –