繁体   English   中英

Python,在父目录中使用__init__中的变量

[英]Python, using variables from __init__ in a parent dir

我有一个我一直在使用Flask编写的网站,尽管对于这个问题,我认为这并不重要。 这是我正在使用的文件夹结构。 Rhea是项目的名称和父目录。

Rhea
|- Scripts
    |-script1.py
|- Static
|- Templates
|- __init__

我的问题是我在自己的init中声明了需要在script1.py中使用的变量。 如何将它们导入script1.py?

供参考,这是我的初始化文件

import os
from flask import Flask
from flask_appconfig import AppConfig
from flask_bootstrap import Bootstrap
from flask.ext.sqlachemy import SQLAlchemy

from .frontend import frontend
from .nav import nav
from .models import User

basedir = os.path.abspath(os.path.dirname(__file__))

SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'db', 'userdb.db')
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db')
WTF_CSRF_ENABLED = True
BOOTSTRAP_SERVE_LOCAL = True
SECRET_KEY = --SNIP--

app = Flask(__name__)
app.config.from_object(__name__)

AppConfig(app)
Bootstrap(app)
db = SQLAlchemy(app)
app.register_blueprint(frontend)
nav.init_app(app)

app.run(host='0.0.0.0', port=6060, debug=False);

return app

我需要的变量是db,SQLALCHEMY_DATABASE_URI和SQLALCHEMY_MIGRATE_REPO。

谢谢你的帮助。

一种解决方案是在sys.path附加Rhea的包父目录。 但这很丑。

# cript1.py 
import os
import sys

rhea_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(rhea_dir)

import Rhea
print Rhea.SQLALCHEMY_DATABASE_URI

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM