【发布时间】:2012-10-19 15:30:14
【问题描述】:
我正在使用 imp 库从字符串中导入模块(不要问)。这一切都很好,花花公子,但是当这样的模块出现错误时,我会得到这样的堆栈跟踪:
Traceback (most recent call last):
File "<string>", line 33, in do_something
File "<string>", line 20, in really_do_something
Exception: STRING FILENAME EXAMPLE
我尝试将模块上的 file 属性设置为有意义的值,但在异常回溯中仍使用 <string> 文件名。
关于如何指定异常中使用的文件名有什么想法吗?
更新:我正在像这样使用 imp:Dynamic module importing is trying to do relative imports when it shouldn't
【问题讨论】:
-
你能显示你使用
imp导入模块的代码吗? -
文件名取自代码对象,而不是模块对象。我们需要看看你是如何编译字符串的。
-
k,添加了我如何使用 imp 模块的链接
-
看起来
imp.new_module返回了一个新的(空)模块。然后用exec填充它。重新处理逻辑似乎更容易,以便改用imp.load_module...
标签: python string python-import python-module