Python 将模块导入模块,can';我不能解释我所说的;我正在努力

Python 将模块导入模块,can';我不能解释我所说的;我正在努力,python,import,module,Python,Import,Module,下面是一个例子。这里有一个模块(称为feedy.py),在核心目录中: import feedparser feed = feedparser.parse("http://site.com/feed") [...] 一个很糟糕的例子,但无论如何:我的问题是在主脚本(父目录)中,我必须这样做 import feedparser 以及 from core import feedy 但是,有没有办法消除导入feedparser的需要,因为它已经在feedy.py中导入了 希望你能理解, 菲克。

下面是一个例子。这里有一个模块(称为feedy.py),在核心目录中:

import feedparser

feed = feedparser.parse("http://site.com/feed")
[...]
一个很糟糕的例子,但无论如何:我的问题是在主脚本(父目录)中,我必须这样做

import feedparser
以及

from core import feedy
但是,有没有办法消除导入feedparser的需要,因为它已经在feedy.py中导入了

希望你能理解,
菲克。原则上,是的。然而,这通常不是一个好主意

当您导入模块时,您实际上声明了一个局部变量,它是对该模块的引用。因此,在
feedy
中有一个名为
feedparser
的对象,它恰好是模块
feedparser
,尽管您可以随时将其重新指定为任何其他Python对象

当您导入feedy时,您可以将任何
feedy
的导出变量引用为
feedy.name
。因此在本例中,
feedy.feedparser
是模块
feedparser


但是,如果更改feedy的实现方式,使其不导入(或导出)
feedparser
,则会中断主脚本。一般来说,您不想导出您定义的所有内容,尽管这对于快速破解来说很好。

为什么需要删除import语句?使我的代码稍微小一点;)。并不是说这会有很大的不同,但不管怎样,只是想知道是否有办法。如果您没有在主脚本中直接使用
feedparser
,那么您就不需要导入它。相反,如果您需要在主脚本中使用
feedparser
中的代码,那么您需要导入它。哦!。。这就是以前发生的事情,我只测试一下……一般来说,
import
是为了使代码更小,而不是更长!啊,没关系,用
feedparser
做了一个小测试,一切都很好,谢谢:)@fike如果你对这个答案感到满意,你应该接受它,或者至少投票支持它我需要15名代表投票支持:P。但我接受了:)。对不起,我是这里的一个傻瓜:)