gpt4 book ai didi

python - 在交互式 Python 中,如何明确地导入模块

转载 作者:行者123 更新时间:2023-11-28 22:06:45 25 4
gpt4 key购买 nike

在交互式 python 中,我想导入一个模块,比如说,

C:\Modules\Module1\module.py

我能做的就是创建一个空的

C:\Modules\Module1\__init__.py

然后做:

>>> import sys
>>> sys.path.append(r'C:\Modules\Module1')
>>> import module

这行得通,但我必须附加到 sys.path,如果 sys.path 中还有另一个名为 module.py 的文件,如何明确解析为我真正想要的文件导入?

是否有另一种不涉及附加到 sys.path 的导入方法?

最佳答案

编辑:这是我忘记的事情:Is this correct way to import python scripts residing in arbitrary folders?我会把剩下的答案留在这里供引用。


有,但您基本上最终会编写自己的导入程序,它手动创建一个新的模块对象并使用 execfile 在该对象的“命名空间”中运行模块代码。如果您想这样做,请查看 mod_python importer举个例子。

对于更简单的解决方案,您可以将要导入的文件的目录添加到 sys.path开头,而不是结尾,如下所示:

>>> import sys
>>> sys.path.insert(0, r'C:\Modules\Module1')
>>> import module

你不需要创建 __init__.py 文件,除非你从一个包中导入(所以,如果你正在做 import package.module 那么你需要 __init__.py)。

关于python - 在交互式 Python 中,如何明确地导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com