首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python中的函数进行扩展导入

使用Python中的函数进行扩展导入
EN

Stack Overflow用户
提问于 2014-10-04 00:24:34
回答 1查看 66关注 0票数 0

这是我的CS作业--在Wesley的"Core编程“中练习12-6。其目的是使用类似于import ... as未实现时那样的函数来模拟扩展导入。这是我的尝试,两者都会产生错误:

代码语言:javascript
复制
def importAs(name):
    eval('import '+name)
    ret = eval(name)
    eval('del '+name)
    return ret

foo = importAs('os')

这将产生SyntaxError: invalid syntax at import os in File "<string>", line 1,同时:

代码语言:javascript
复制
def importAs(name):
    import name
    ret = name
    del name
    return ret

foo = importAs(os)

foo = importAs(os)上产生一个foo = importAs(os)

有谁能解释原因和解决办法吗?

编辑:请只保留2.x :)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-04 00:35:01

eval只能计算表达式。import是一种声明,所以它不起作用。

您应该在任务中使用importlib模块。

还请看一下eval to import a module

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26188428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档