Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3绝对导入不起作用_Python_Python 3.x_Python Import - Fatal编程技术网

Python3绝对导入不起作用

Python3绝对导入不起作用,python,python-3.x,python-import,Python,Python 3.x,Python Import,我有一个包含两个文件的文件夹:test.py和csv.py。在test.py中,我有 import csv 这将导入我的csv.py文件,而不是导入内置的csv模块 为什么??我认为绝对导入在Python3中是默认的 如何强制Python加载内置的csv模块 from __future__ import absolute_import 没有帮助。也不是 csv = __import__('csv', level=0) 根据文件的规定,这应该“只执行绝对进口” 重命名csv.py不是一个可接

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

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

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


如何强制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
是“本地”的,请将模块移动到包中。将模块移动到具有软件包名称的目录中,并添加一个
\uuuu init\uuuu.py
文件(它可以为空)。然后,您的
csv
模块将命名为
yourpackage.csv
,不会被视为顶级模块。

absolute\u import
在3.0版默认情况下已启用-请参见底部的表格。我也这么认为。那么,你知道为什么它对我不起作用吗?“我如何强制Python加载内置的csv模块?”最好不要隐藏内置名称。这对我来说不是一个可接受的解决方案。我不打算跟踪python中的内置模块名。另外,绝对导入不应该解决这个确切的问题吗?我添加了一个空的_uinit__;.py文件。导入.csv不起作用。导入foldername.csv也是如此,其中foldername是包含这些文件的文件夹的名称。“yourpackage”来自哪里?@Uhwigiuhlk:你创建了一个新目录吗?包含
\uuuu init\uuuuu.py
文件的目录构成一个包,但顶层目录位于您的路径上,而不是包中的模块。如果您有运行此代码的脚本,请将其保留在目录之外,并从包中导入。例如,这就是组织的方式;您可以导入
urllib.request
例如,not
request
@uhuviiuhlk:脚本部分很重要,脚本所在的目录会自动添加到您的路径中,但您不希望将包目录添加到您的路径中,只希望将父目录添加到路径中。因此,如果您有
/home/username/python/foo
作为您的包,那么您希望
/home/username/python
位于您的路径上,以便您可以导入
foo
foo.csv
,等等。将任何脚本放入
/home/username/python
中。