我想在用户/ button被调用后,简单地将“ hello world”打印到python控制台。
这是我的幼稚方法:
@app.route('/button/')
def button_clicked():
print 'Hello world!'
return redirect('/')
背景:我想从flask(而不是shell)执行其他python命令。“打印”应该是最简单的情况。我相信我对这里的基本理解还不了解。提前致谢!
我想在用户/ button被调用后,简单地将“ hello world”打印到python控制台。
这是我的幼稚方法:
@app.route('/button/')
def button_clicked():
print 'Hello world!'
return redirect('/')
背景:我想从flask(而不是shell)执行其他python命令。“打印”应该是最简单的情况。我相信我对这里的基本理解还不了解。提前致谢!
print
到响应。如果您从终端会话运行开发服务器,则将在此处看到输出。如果通过诸如uWSGI之类的WSGI服务器运行它,则输出将显示在日志中。
Answers:
看来您已经解决了问题,但是对于其他寻求此答案的人来说,一种简单的方法是通过打印到stderr。您可以这样做:
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帖子。
from __future__ import print_function
也file=sys.stderr
为每个打印?有没有很短的路要走?
from sys import stderr
,file=stderr
。在Python 3+中,您不需要from __future__ import print_function
,这是默认功能。
pprint(vars(myobject), sys.stderr)
我们还可以使用日志记录在控制台上打印数据。
例:
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)