Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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
Python 本地导入-没有名为';x';_Python_Python 3.x - Fatal编程技术网

Python 本地导入-没有名为';x';

Python 本地导入-没有名为';x';,python,python-3.x,Python,Python 3.x,我的文件结构如下所示 . ├── app.py └── tests ├── Test.py ├── Test0.py └── __init__.py 这是app.py: import tests.Test 这是Test.py import Test0 Test0.py中的内容与此无关。我们就说它什么都不包含\uuuu init\uuuu.py也为空。 当我运行命令python3 app.py时,我得到错误: ModuleNotFoundError:没有名为“Test

我的文件结构如下所示

.
├── app.py
└── tests
    ├── Test.py
    ├── Test0.py
    └── __init__.py
这是app.py:

import tests.Test
这是Test.py

import Test0
Test0.py中的内容与此无关。我们就说它什么都不包含
\uuuu init\uuuu.py
也为空。 当我运行命令python3 app.py时,我得到错误:

ModuleNotFoundError:没有名为“Test0”的模块

这很奇怪,因为如果我将Test.py更改为:

from . import Test0
一切都很完美;没有错误

我不明白为什么。我认为简单地使用
import x
将尝试在本地或从标准库导入名为
x
的模块

有人能给我解释一下这种行为吗?另外,如果有一种只使用导入测试0导入的方法,请告诉我


Python沙盒复制问题:

我将如何重现此问题?@nicomp我在问题描述中添加了一个链接,指向一个Python沙盒,该沙盒复制了问题。请尝试签出以更好地了解它为什么找不到模块。可以找到此相关信息。基本上,导入的模块必须位于绝对导入的路径上。如果它在一个包中,情况就不是这样了。我该如何重现这个问题?@nicomp我在问题描述中添加了一个链接到一个python沙盒,该沙盒复制了这个问题。请尝试签出以更好地理解它为什么找不到模块。可以找到这些相关信息。基本上,导入的模块必须位于绝对导入的路径上。如果它在一个包中,情况就不是这样了。