Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 一个文件导入成功,但同一目录中的另一个文件导入不成功_Python_Python Import - Fatal编程技术网

Python 一个文件导入成功,但同一目录中的另一个文件导入不成功

Python 一个文件导入成功,但同一目录中的另一个文件导入不成功,python,python-import,Python,Python Import,我有一个名为proja的项目文件夹。它包含几个文件: "__init__.py" classa.py classb.py classc.py 我在proja中有一个子文件夹名为folderb。它还有一个“init.py”。此文件夹包含一个包含以下导入语句的py脚本。它导入classa,但在classb上失败 from classa import classa from classb import classb from class import classc 不管我是从proja运行脚本:“

我有一个名为proja的项目文件夹。它包含几个文件:

"__init__.py"
classa.py
classb.py
classc.py
我在proja中有一个子文件夹名为folderb。它还有一个“init.py”。此文件夹包含一个包含以下导入语句的py脚本。它导入classa,但在classb上失败

from classa import classa
from classb import classb
from class import classc
不管我是从proja运行脚本:“python folderb/imptest.py”还是从cd运行到folderb并运行:“python imptest.py”

它总是失败:“ImportError:没有名为classb的模块…”


为什么它要从一个文件导入,而不是从同一位置的另一个文件导入

确保文件
classb.py

使用以下命令运行文件后:

import classa
import classb
import classc
如果此命令有效,则文件路径正常,您应该查看文件内部

如果您这样做并且它工作正常,请检查文件
classb.py


否则,请发布错误。它会有帮助。

确保文件
classb.py
中有一个名为
classb
的函数或方法

使用以下命令运行文件后:

import classa
import classb
import classc
如果此命令有效,则文件路径正常,您应该查看文件内部

如果您这样做并且它工作正常,请检查文件
classb.py


否则,请发布错误。这会有帮助。

我发现如果我执行sys.path.append。。。但是,我不明白为什么它适用于该目录中的一个文件,而不适用于同一目录中的另一个文件。如果可能的话,我想避免使用sys.path.append。谢谢。我发现如果我使用sys.path.append。。。但是,我不明白为什么它适用于该目录中的一个文件,而不适用于同一目录中的另一个文件。如果可能的话,我想避免使用sys.path.append。谢谢,谢谢。在验证文件名、类名等是否正确后,我修改了import语句,以包含$PYTHONROOT根目录的完整路径。成功了。从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类C仍然不确定为什么导入了一。但是,我有一个有效的,适当的方法来完成这项工作。谢谢。在验证文件名、类名等是否正确后,我修改了import语句,以包含$PYTHONROOT根目录的完整路径。成功了。从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类从parentdir.proja导入类C仍然不确定为什么导入了一。但是,我有一个可行的、适当的方法来完成这项工作。