Python 如何从父目录中的文件导入?
我有以下文件夹结构:Python 如何从父目录中的文件导入?,python,peewee,Python,Peewee,我有以下文件夹结构: . ├── GET ├── Pipfile ├── Pipfile.lock ├── database.py ├── main.py ├── models │ ├── BaseModel.py │ ├── __init__.py │ └── contact.py └── routers ├── __init__.py └── contact.py database.py如下所示: from peewee import * user = 'ro
.
├── GET
├── Pipfile
├── Pipfile.lock
├── database.py
├── main.py
├── models
│ ├── BaseModel.py
│ ├── __init__.py
│ └── contact.py
└── routers
├── __init__.py
└── contact.py
database.py
如下所示:
from peewee import *
user = 'root'
password = 'root'
db_name = 'fastapi_contact'
conn = MySQLDatabase(
db_name, user=user,
password=password,
host='localhost'
)
def get_connection():
return conn
在文件BaseModel.py
中,我正在执行以下操作:
from peewee import *
import os, sys
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import database
connection = get_connection()
class BaseModel(Model):
class Meta:
database = connection
但我得到了一个错误:
File "./main.py", line 9, in <module>
from routers import contact
File "./routers/contact.py", line 2, in <module>
from models.contact import Contact
File "./models/contact.py", line 2, in <module>
from . import BaseModel
File "./models/BaseModel.py", line 7, in <module>
connection = get_connection()
NameError: name 'get_connection' is not defined
文件“/main.py”,第9行,在
从路由器导入联系人
文件“/routers/contact.py”,第2行,在
从models.contact导入联系人
文件“/models/contact.py”,第2行,在
从…起导入基本模型
文件“/models/BaseModel.py”,第7行,在
连接=获取连接()
NameError:未定义名称“获取连接”
如何在BaseModel.py
文件中获取get\u连接
谢谢请使用
database.get_connection
或
假设您已经将根目录添加到PYTHONPATH中,那么来自的答案可能会有所帮助。以下内容也可能会起到作用:
from ... import database
from ... import database