如何从[email protected]打印到python控制台

How to print from Flask @app.route to python console

我只想在用户调用/button之后,在python控制台上打印一个"hello world"。

这是我天真的做法:

1
2
3
4
@app.route('/button/')
def button_clicked():
    print 'Hello world!'
    return redirect('/')

背景:我想从flask(而不是shell)执行其他python命令。""打印"应该是最简单的情况。我相信我还没有理解这里的一个基本的转折点。事先谢谢!


看起来你已经解决了,但是对于其他寻找这个答案的人来说,一个简单的方法就是打印到stderr。你可以这样做:

1
2
3
4
5
6
7
from __future__ import print_function # In python 2.7
import sys

@app.route('/button/')
def button_clicked():
    print('Hello world!', file=sys.stderr)
    return redirect('/')

flask将在控制台中显示打印到stderr的内容。有关打印到stderr的其他方法,请参阅此stackoverflow post


我们还可以使用日志记录在控制台上打印数据。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import logging
from flask import Flask

app = Flask(__name__)

@app.route('/print')
def printMsg():
    app.logger.warning('testing warning log')
    app.logger.error('testing error log')
    app.logger.info('testing info log')
    return"Check your console"

if __name__ == '__main__':
    app.run(debug=True)