为什么我无法从当前目录中的另一个 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
请原谅我的英语不好!
我无法从另一个 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
请原谅我的英语不好!