python - 当文件名包含句点时如何引用python包

标签 python import module package python-import

我正在使用 django,我有一个名为 models.admin.py 的文件,我想在 models.py 中执行以下想法:

from "models.admin" import *

但是,我收到双引号导致的语法错误。但如果我只是这样做

from models.admin import *

然后我得到“ImportError: No module named admin”

有没有办法从名称中带有句点的 python 文件导入?

最佳答案

实际上,您可以导入一个名称无效的模块。但是您需要使用 imp为此,例如假设文件名为 models.admin.py,你可以这样做

import imp
with open('models.admin.py', 'rb') as fp:
    models_admin = imp.load_module(
        'models_admin', fp, 'models.admin.py',
        ('.py', 'rb', imp.PY_SOURCE)
    )

但请阅读 imp.find_module 上的文档和 imp.load_module在开始使用之前。

关于python - 当文件名包含句点时如何引用python包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1828127/

相关文章:

python - 当逗号 (,) 完成工作时,在 Python 中使用连接 (+) 有什么意义?

python - 使用 Python tkinter 重新缩放小部件时,如何使用小部件的其余部分缩放文本?

python - 使用 argparse 解析字符串

python - "Contains"类或正则表达式的美丽汤?

python - 导入声明全局变量的函数

python - 在 python 中,如何通过用户输入模块名称的字符串来导入模块

reactjs - React 导入组件文件夹

python - python加载时间和运行时间的区别?

angular - 错误 : Unexpected value 'undefined' exported by the module 'DynamicFormModule'

python - 尝试导入请求或漂亮的汤时出现非常奇怪的错误