python导入不工作
我在python 2.7中总共有三个文件:python导入不工作,python,import,Python,Import,我在python 2.7中总共有三个文件: 某个目录中的模块文件(例如module1.py) 同一目录中导入此模块的不同模块(例如worker.py) 顶级目录中的主脚本导入worker.py 当文件worker.py如下所示时 import module1 as mod 一切正常(即我可以在主代码中使用worker.mod.XXX)。但是当我将worker.py的内容替换为以下内容时(我希望这样做): 我得到一个错误:导入错误:没有名为module1的模块。我需要后一种方法来处理从列表自动导
module1.py
)worker.py
)worker.py
worker.py
如下所示时
import module1 as mod
一切正常(即我可以在主代码中使用worker.mod.XXX
)。但是当我将worker.py
的内容替换为以下内容时(我希望这样做):
我得到一个错误:导入错误:没有名为module1的模块。我需要后一种方法来处理从列表自动导入模块的事情
我错过了什么
更准确地说:我只是在寻找一种方法来取代这一说法
将模块1作为mod导入
通过module1
为字符串的表达式。例如,modulename='module1'
,我想用字符串modulename
中给出的模块名称导入模块。如何做到这一点?\uuuuuuuuuuuuuuuuuuuuuu导入(名称,全局={},局部={},fromlist=[],level=-1)->module
导入模块。因为这个函数是供Python使用的
解释器,非通用,最好使用
importlib.import\u module()
以编程方式导入模块
globals
参数仅用于确定上下文;
它们没有被修改。本地参数未使用。fromlist
应该是要从名称导入中模拟的名称列表…
,或
要模拟的空列表导入名称
。
从软件包导入模块时,请注意\uuuuu import\uuuu('a.B',…)
当fromlist为空时返回包A,但当fromlist为空时返回其子模块B
fromlist不为空。级别用于确定是否执行
绝对进口或相对进口-1是最初的尝试策略
无论是绝对导入还是相对导入,0都是绝对值,为正数
要相对于当前模块搜索的父目录数。\uuuuuu import\uuuuuu(名称,全局={},局部={},fromlist=[],level=-1)->module
导入模块。因为这个函数是供Python使用的
解释器,非通用,最好使用
importlib.import\u module()
以编程方式导入模块
globals
参数仅用于确定上下文;
它们没有被修改。本地参数未使用。fromlist
应该是要从名称导入中模拟的名称列表…,或
要模拟的空列表导入名称
。
从软件包导入模块时,请注意\uuuuu import\uuuu('a.B',…)
当fromlist为空时返回包A,但当fromlist为空时返回其子模块B
fromlist不为空。级别用于确定是否执行
绝对进口或相对进口-1是最初的尝试策略
无论是绝对导入还是相对导入,0都是绝对值,为正数
相对于当前模块要搜索的父目录数。请尝试以下操作:
mod = __import__('module1', globals=globals())
试试这个:
mod = __import__('module1', globals=globals())
我认为应该还有另一个因素,因为
\uuuu import\uuuu()
是由import
语句直接调用的。你指的是什么因素?例如,这个错误只有在你更改这一行代码时才会出现(当然,其他一切,包括程序启动方式都是一样的)?是的。我只是尝试以不同的方式导入同一个模块,其他一切都是一样的。我相信应该还有另一个因素,因为\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(其他一切都是一样的,包括如何启动程序)?是的。我只是尝试以不同的方式导入相同的模块,其他一切都是一样的。我尝试使用importlib
,但是importlib.import\u模块('module1'))
给出了相同的错误。好吧,如何将要导入的模块放置在导入的位置?首先,我不理解您的评论。其次,我只是想用一个表达式替换import module1作为mod
,其中module1
用作字符串。例如,modulename='module1'
,现在我想用字符串modulename
中定义的名称导入模块。怎么做?伙计,这很有帮助,如果你不懂基本知识,没有人能帮你。@Alex本文包含所有URL和一些信息来解决你的问题。只需理解你的问题-问题是一个懒惰的学生,他甚至不是一个学生我可以在这里匆忙地阅读关于语言的简单书籍,以显示它们的愚蠢。我尝试使用importlib
,但是importlib.import\u模块('module1'))
给出了相同的错误。好吧,如何将要导入的模块放置在导入的位置?首先,我不理解您的评论。其次,我只是想用一个表达式替换import module1作为mod
,其中module1
用作字符串。例如,modulename='module1'
,现在我想用字符串modulename
中定义的名称导入模块。怎么做?伙计,这很有帮助,如果你不懂基本知识,没有人能帮你。@Alex本文包含所有URL和一些信息来解决你的问题。只需理解你的问题-问题是一个懒惰的学生,他甚至不是一个学生我能很快地阅读关于语言的简单书籍,在这里展示他们的愚蠢。非常感谢!!这用一个具体的例子解决了我的问题。非常感谢!!这用一个具体的例子解决了我的问题。