Python条件导入&;资源

Python条件导入&;资源,python,import,resources,conditional,Python,Import,Resources,Conditional,我知道有条件地导入模块是可能的。我的问题是,;如果导入模块的条件为false,模块是否仍会被加载(并且在后台处于空闲状态),或者不加载 我是从资源的角度来问这个问题的。例如,使用Raspberry Pi进行编程确实有其局限性。这只是一个假设性的问题。。。我还没有遇到任何问题。不,它没有导入,也没有加载 此代码验证模块是否未添加到命名空间: >>> if False: ... import time ... else: ... time.clock() ... T

我知道有条件地导入模块是可能的。我的问题是,;如果导入模块的条件为false,模块是否仍会被加载(并且在后台处于空闲状态),或者不加载


我是从资源的角度来问这个问题的。例如,使用Raspberry Pi进行编程确实有其局限性。这只是一个假设性的问题。。。我还没有遇到任何问题。

不,它没有导入,也没有加载

此代码验证模块是否未添加到命名空间:

>>> if False:
...     import time
... else:
...     time.clock()
...
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
NameError: name 'time' is not defined

这主要是因为Python在运行脚本之前所做的一切都是将其编译成字节码,因此不会在语句出现之前对其进行求值。

如果模块已加载,您也可以检查sys.modules。@GabrielSamfira您在我编辑答案时发表了评论:)
>>> if False:
...     import thismoduledoesnotexist
...
>>> import thismoduledoesnotexist
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named thismoduledoesnotexist