当前位置: 首页 > 知识库问答 >
问题:

Python:禁用相对导入[重复]

轩辕翰
2023-03-14

可能的重复:
当存在同名的本地模块时,如何访问Python中的标准库模块?

我使用的是Python2.6。

myapp 
  |
   -- myscript 
   -- json
        |
         -- anotherscript.py

在myscript中,我有:

import json
import myapp.json.anotherscript

由于Python的相对导入机制,import json并不像我想要的那样导入内置库,而是将我的自定义json包导入到当前名称空间中。

在这种情况下,有没有一种方法可以禁用Python中的相对导入,或者至少有一种黑客可以避免它?否则,我将不得不将我的包重命名为其他没有jsonutils那么大意义的东西。

提前道谢。

共有1个答案

南宫阳焱
2023-03-14
from __future__ import absolute_import

在PEP-328中描述

 类似资料:
  • 我有一个像这样的文件结构 在家庭作业1的主要部分。是的,我想做什么 这样我就不必为我使用的每个任务重写这个算法。但我得到的错误"父模块"未加载,不能执行相对导入".我做错了什么?

  • 问题内容: 大家好-我正在用Python中的相关知识来表达自己的观点。我已经阅读了30篇文档,并在SO和其他论坛上阅读了很多帖子-似乎还是行不通。 我的目录结构目前看起来像这样 我希望expander.py和language_id.py可以访问功能模块。我运行python main.py,可以从components.expander import 和components.language_id i

  • 问题内容: 存在的问题是:在Windows 7、32位Python 2.7.3中,如何解决此“尝试以非软件包方式进行相对导入”消息?我在上构建了该软件包的精确副本: 导入是从控制台完成的。 我确实在相应的模块中创建了名为垃圾邮件和鸡蛋的函数。自然,它不起作用。答案显然是在我列出的第4个网址中,但对我来说都是校友。我访问的其中一个URL上有此响应: 相对导入使用模块的名称属性来确定该模块在包层次结构

  • 问题内容: 我想从同一目录中的另一个文件导入函数。 有时它对我有用,但有时我得到: 有时它可与一起使用,但有时我也会得到: 我不了解这里的逻辑,也找不到任何解释。这看起来完全是随机的。 有人可以向我解释所有这些背后的逻辑是什么? 问题答案: 不幸的是,该模块需要位于程序包内部,有时还需要作为脚本运行。知道如何实现吗? 像这样的布局很普遍… … mymodule.py像这样… ......一个myo

  • 我想从同一目录中的另一个文件导入一个函数。 有时使用对我有效,但有时我会得到一个: 有时它与一起工作,但有时我也会得到一个: 我不明白这里的逻辑,也找不到任何解释。这看起来完全是随机的。 谁能给我解释一下这一切背后的逻辑是什么?

  • 问题内容: 根据python文档,自python 2.5开始支持相对导入和内部包引用。我当前正在运行Python 2.7.3。因此,我尝试在自己的程序包中实现此功能,以便将其用于更简单的导入。我很惊讶地发现它引发了SyntaxError异常,我希望有人可以帮助您找到原因。 我设置了一个测试目录进行测试: 两个__init__.py模块都为空。其他模块是: 当我尝试导入second_level模块时