1

不确定这是否可能,但想知道是否有任何建议。

假设我有一个文件 foo.py 看起来像

import doesnotexist

bar = "Hello, World!"

我想做一个from foo import bar,但由于导入不存在于这个新文件的范围内,这将失败。

这样做的一种方法是放入bar一个名为的新文件bar.pyfoo.py导入它,但如果可能的话想跳过它。

有任何想法吗?

4

1 回答 1

1

没有办法只导入模块的一部分——Python 会在拉取你要求的部分之前加载整个模块。

如评论中所述,您可以捕获模块内部的导入错误并忽略它。如果您尝试使用未导入的模块,您的代码将生成错误。

try:
    import doesnotexist
except ImportError:
    pass

bar = "Hello, World!"
于 2012-11-08T17:48:39.767 回答