2010-05-29 51 views
3

我仍然在学习python,并且在玩pygame之后,我发现我重新导入了我导入的模块,这些模块是我已经导入的。回忆在模块中导入

import pygame 

例如我在一个单独的文件中有一些类,但我也必须将pygame导入到该文件中以供它们工作。它实际上是两次导入代码吗?它会减慢我的程序吗?或者它只是从缓存中提取相同的导入,但如果这样做,为什么我需要再次导入它?

在lisp中是否有像(加载)那样的代码就像它是主文件的一部分那样引入代码?

谢谢

回答

0

明白了!
好吧,我找到了我要找的东西。我刚刚发现它不得不重新导入我已经导入的代码,特别是当文件不是库或其他东西时,只是分割代码。 在这里找到:http://norvig.com/python-lisp.html

execfile("file.py") 

完全回答我的问题。它解析一个文件并执行其中的代码。使用它我能够取出额外的进口报表,并且运行完美:D执行文件()``也实际*执行*代码,而第二次导入不会执行*代码D

+0

。 – 2010-05-29 18:12:11

2

后续进口拉离sys.modules缓存模块引用。您需要导入才能将模块添加到当前名称空间/作用域。