Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.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 3.x_Python Import_Importerror - Fatal编程技术网

Python无法在同一目录中导入两个相同类中的一个

Python无法在同一目录中导入两个相同类中的一个,python,python-3.x,python-import,importerror,Python,Python 3.x,Python Import,Importerror,在运行python脚本时,我试图从同一目录中的两个不同脚本导入两个不同的类。 第一个可行,第二个失败,原因我还不清楚 我从导入的脚本中提取了所有有用的代码,并使它们除了类名之外完全相同,以便在测试解决方案时限制变量的数量 问题发生时,我一直遵循这两个指南 我确信这是一个令人麻木的简单修复方法,但我还没有弄明白 谢谢你的帮助 Python版本 Python 3.6.9::Anaconda,Inc. 文件夹结构 MSAs \uuuu init\uuuuu.py lexer.py mai

在运行python脚本时,我试图从同一目录中的两个不同脚本导入两个不同的类。 第一个可行,第二个失败,原因我还不清楚

我从导入的脚本中提取了所有有用的代码,并使它们除了类名之外完全相同,以便在测试解决方案时限制变量的数量

问题发生时,我一直遵循这两个指南

我确信这是一个令人麻木的简单修复方法,但我还没有弄明白

谢谢你的帮助


Python版本

Python 3.6.9::Anaconda,Inc.

文件夹结构

  • MSAs
    • \uuuu init\uuuuu.py
    • lexer.py
    • main.py
    • parser.py
文件内容

\uuuu init\uuuuu.py

"""empty file"""
lexer.py

class Lexer():
    def __init__(self):
        self.hello = 'world'
parser.py

class Parser():
    def __init__(self):
        self.hello = 'world'
main.py

from lexer import Lexer
from parser import Parser

p = Parser()
MSAs
文件夹运行脚本

msas>python main.py

"""empty file"""
ImportError:无法导入名称“解析器”


互联网让我尝试的东西,以及它们的结果

我觉得其中一些是常识,它们不起作用,但我试图用尽我所有的选择

没有名为“\uuuu main\uuuu.lexer”的模块__main__u;不是一个包

没有名为'parser.parser'的模块;'parser'不是包

AttributeError:模块“parser”没有属性“parser”

ImportError:无法导入名称“解析器”

切换导入语句的顺序

ImportError:无法导入名称“解析器”



parser
是Python中的一个模块,因此我相信您的代码试图从该文件导入
parser
,而不是从
parser.py
文件导入。由于该对象不存在,您将看到
importorror

将我的
parser.py
更改为
queryParser.py
,并将
main.py
中的导入从queryParser导入解析器
更改为
,效果非常好。谢谢,我不明白这为什么能解决这个问题。如果
parser.py
在当前目录中,那么导入应该首先在标准库模块之前找到它,对吗?