为什么不可能做“import gtts.gTTS”,而我可以在python中“从gtts import gTTS”做?

时间:2018-06-06 17:45:40

标签: python speech-recognition google-speech-api google-text-to-speech

here is the screenshot of the error i got in python3

错误表示没有名为“gtts.gTTS”的模块,并且在导入其他模块时多次出现此错误。 那么您能否告诉我导入模块的逻辑是什么?我们不能使用“。”导入类。运营商? 问题是什么;我无法理解!

#what is the difference between these two codes
import gtts.gTTS
from gtts import gTTS

1 个答案:

答案 0 :(得分:2)

与Java不同,您在Python中执行import module.submodule.blah.blah.MyClass之类的操作,只能直接导入模块。如果只想从模块导入某个类,函数或其他命名值,则需要使用from ... import ...语法。

很可能gtts是一个模块,而gTTS是该模块中的一个类。因此,import gtts.gTTS毫无意义,因为gTTS不是一个模块(错误所说的是),您必须使用from gtts import gTTS

例如,import os.path工作正常,因为pathos的子模块,但如果我想在exists中使用path函数,我需要使用from os.path import existsimport os.path; os.path.exists(...)。如果我错误地尝试import os.path.exsts,我会得到一个ModuleNotFoundError。