Python 将模块导入模块,can';我不能解释我所说的;我正在努力
下面是一个例子。这里有一个模块(称为feedy.py),在核心目录中: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中导入了 希望你能理解, 菲克。
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。但我接受了:)。对不起,我是这里的一个傻瓜:)