Python 在函数中使用nltk.book导入

Python 在函数中使用nltk.book导入,python,function,nlp,nltk,nltk-book,Python,Function,Nlp,Nltk,Nltk Book,我试图编写一个简单的函数,如下所示: def lexical_diversity(text,word): from nltk.book import text return 100*text.count(word)/len(set(text)) 我知道我可以在函数之前导入文本。但是,我想知道为什么会出现以下错误 ImportError:无法从“nltk.book”导入名称“text” 它告诉我,nltk中不存在作为语料库的“文本”——这是真的。但是,我希望用户将文本标识为tex

我试图编写一个简单的函数,如下所示:

def lexical_diversity(text,word):
    from nltk.book import text
    return 100*text.count(word)/len(set(text))
我知道我可以在函数之前导入文本。但是,我想知道为什么会出现以下错误

ImportError:无法从“nltk.book”导入名称“text”


它告诉我,nltk中不存在作为语料库的“文本”——这是真的。但是,我希望用户将文本标识为text1、text2或text3。

为了在python中导入库的子模块,可以使用
importlib
模块

import importlib

def lexical_diversity(nltk_sub_module,word):
    
    imported_model_module = importlib.import_module( "nltk.book")
    text = getattr(imported_model_module,nltk_sub_module)

    return 100*text.count(word)/len(set(text))

lexical_diversity("text3", "book")

请您描述一下您希望该函数和nltk.book为您实现的功能,好吗?任务是什么?我正在尝试导入一个“文本”,然后计算该特定文本的词汇多样性。NLTK有几个学习语料库。谢谢你的帮助!谢谢你的回答!