为什么我无法从当前目录中的另一个 py 文件导入函数?

Why I cannot import function from another py file in current directory?

我无法从另一个 py 文件导入函数。 如何从同一目录中的另一个 py 文件导入函数? 两个py文件在同一个目录下。 Python 版本是 3.7。 OS 是 Windows 10。 请帮忙,非常感谢。

db.py

from parser import parser   # No name 'parser' in module 'parser'

def _db():
    '''
        Function: Get sql from GUI, and pass it to paser
    '''
    print('__Start DBMS__')
    # TODO

    print('__End DBMS__')

    pass


if __name__ == "__main__":
    _db()
    parser()

parser.py

def parser(_sql=None):
    '''
        Funtion: Get sql string, and parse it and call cressponding functions
    '''
    print('__Start Parsing__')

    # TODO

    print('__End Parsing__')
    pass

回溯(最近调用最后):

文件 "db.py",第 1 行,在

from parser import parser

导入错误:无法从 'parser'(未知位置)导入名称 'parser'

将文件名 parser.py 更改为其他名称,例如 parser1.py

from parser1 import parser

应该按预期工作。

因为编译器认为你指的是 python parser library

因为python内置了名为parser的模块,你的模块与之冲突,解决方法有两个: 1.更改您的模块名称。 2.使用绝对路径,但是首先你要把你的项目目录加入到PATH中,如果你使用PyCharm,它可以帮你默认。

如果你的项目结构是这样的,

...other directory...
  --top_layer
    --second_layer
    --parser.py

你可以这样导入

from top_layer.parser import parser

请原谅我的英语不好!