gpt4 book ai didi

Python 3 绝对导入不起作用

转载 作者:行者123 更新时间:2023-11-28 22:39:47 24 4
gpt4 key购买 nike

我有一个包含两个文件的文件夹:test.py 和 csv.py。在 test.py 我有

import csv

这会导入我的 csv.py 文件,而不是导入内置的 csv 模块。

为什么?我认为绝对导入在 Python 3 中是默认的?

如何强制 Python 加载内置的 csv 模块?

from __future__ import absolute_import

没有帮助。也没有

csv = __import__('csv', level=0)

根据文档,应该“只执行绝对导入”。

重命名 csv.py 不是一个可接受的解决方案。另外,我宁愿不使用“from module import something”语法(在这种情况下它没有帮助)。

(在 Linux Mint 17.1 上使用 Python 3.4.0)

最佳答案

您有一个顶级 csv 模块,它位于 . 路径中,因此它位于内置模块之前。这就是绝对导入工作的方式。

如果您希望 csv 为“本地”,请将您的模块移动到一个包中。将您的模块移动到包含您的包名称的目录中,并添加一个 __init__.py 文件(它可以是空的)。您的 csv 模块随后被命名为 yourpackage.csv,并且不会被视为顶级模块。

关于Python 3 绝对导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34398697/

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