繁体   English   中英

如何在Python2.7中使用imp实现“从foo的bar导入栏为b”?

[英]How can I do 'from foo import bar as b' with imp in Python2.7?

我需要在不知道模块位置的情况下导入模块。 用户将位置指定为我的脚本的参数。

我知道我可以将imp用于导入,例如

import imp
foo = imp.load_source('foo', '/path/to/foo.py')

在功能上等同于

import foo

如果在PATH中找到foo。

我该如何构造类似于

from foo import bar as b

正如我所评论的,即使在同一表达式内,您也可以使用常规属性访问来从imp.load_source返回的模块对象中获取bar对象:

b = imp.load_source('foo', '/path/to/foo.py').bar

这与from foo import bar as b ,因为load_source始终读取源文件并创建具有新内容的新模块对象。 import语句仅加载一次模块,如果再次导入,则使用sys.modules的缓存版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM