Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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/4/maven/5.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_Peewee - Fatal编程技术网

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