在调试中运行程序而不用硬编码在Python中使用DEBUG = True

时间:2014-09-11 04:37:09

标签: python bash debugging flask

我有一个小的“Hello World”Flask脚本,它从一个名为rescuetime_api的程序中获取输出并将其放在URL /blog上。我想在调试模式下运行脚本并将其硬编码到我的程序的顶部,但我想知道是否有办法从我的Bash shell传递这个值。在此先感谢您的帮助。

#Flask tutorial
import rescuetime_api as api
import os

from flask import Flask
app = Flask(__name__)

DEBUG = True

@app.route("/")
def hello():
    return "This is my homepage!"

@app.route("/blog")
def blog():
    result = api.download_rescuetime_json()[1][1]
    return "%s" % result

if __name__ == "__main__":
    if os.environ.get("FLASK_TUTORIAL_DEBUG"):
        DEBUG = True
    print "Running in debug:", DEBUG
    app.run(debug=DEBUG)

1 个答案:

答案 0 :(得分:2)

您的脚本已经检查了环境变量FLASK_TUTORIAL_DEBUG

您可以在执行程序之前在shell中设置它:

export FLASK_TUTORIAL_DEBUG=1

然后运行你的程序:

python myscript.py

请记住在不需要时取消设置变量:

unset FLASK_TUTORIAL_DEBUG