Python试图创建一个简单的反垃圾邮件fi

2024-10-02 10:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须为毕业论文设计一个简单的垃圾邮件过滤器。我的目的是打开和阅读两个不同的列表,一个是垃圾邮件,一个是火腿。这个名字(cartella)在英语中就像文件夹。问题是,当我打印spam时,它只打印数组spam[0]的第一个元素,当我打印长度为1时,它应该打印1500。问题出在函数上。我需要帮助。在

这是我的代码:

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))

Tags: import目的过滤器列表os垃圾邮件spamfile
1条回答
网友
1楼 · 发布于 2024-10-02 10:25:07

在for循环中有return语句。它将在第一次迭代后退出函数。如果您按如下方式更改代码,则它是正确的。 导入nltk 导入操作系统

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))

相关问题 更多 >

    热门问题