반응형
Flask @app.ro ute에서 python 콘솔로 인쇄하는 방법
사용자가 /버튼을 호출한 후 파이썬 콘솔에 간단히 "헬로 월드"를 인쇄하고자 합니다.
이것이 저의 순진한 접근법입니다.
@app.route('/button/')
def button_clicked():
print 'Hello world!'
return redirect('/')
배경:플라스크(조개가 아닌 플라스크)에서 다른 파이썬 명령을 실행하고 싶습니다."print"가 가장 쉬운 경우여야 합니다.저는 여기서 기본적인 반전을 이해하지 못했다고 생각합니다.
이것을 하기 위한 쉬운 방법은 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('/')
플라스크에는 콘솔에 stderr로 인쇄된 것들이 표시됩니다.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)
플라스크의 핵심적인 문제는 stdout이 완충되는 것이라고 생각합니다.인쇄를 할 수 있었습니다.print('Hi', flush=True)
. 또한 다음을 설정하여 버퍼링을 비활성화할 수 있습니다.PYTHONUNBUFFERED
environment variable(빈 문자열이 아닌 문자열로).
@Viraj Wadate의 코드를 실행해 보았지만 출력을 얻을 수 없었습니다.app.logger.info
콘솔에
갖기 위해INFO
,WARNING
,그리고.ERROR
콘솔의 메시지,dictConfig
object를 사용하여 모든 로그(소스)에 대한 로깅 구성을 만들 수 있습니다.
from logging.config import dictConfig
from flask import Flask
dictConfig({
'version': 1,
'formatters': {'default': {
'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
}},
'handlers': {'wsgi': {
'class': 'logging.StreamHandler',
'stream': 'ext://flask.logging.wsgi_errors_stream',
'formatter': 'default'
}},
'root': {
'level': 'INFO',
'handlers': ['wsgi']
}
})
app = Flask(__name__)
@app.route('/')
def index():
return "Hello from Flask's test environment"
@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)
언급URL : https://stackoverflow.com/questions/32550487/how-to-print-from-flask-app-route-to-python-console
반응형
'source' 카테고리의 다른 글
Storing Lat Lng values in MySQL using Spatial Point Type (0) | 2023.09.21 |
---|---|
AngularJS에서 파일을 읽는 방법? (0) | 2023.09.21 |
Go-SQL-Driver로 인해 maria-db CPU 사용률이 매우 높음 (0) | 2023.09.21 |
안드로이드:인텐트(intent)를 사용하여 일반 텍스트 공유(모든 메시징 앱에) (0) | 2023.09.21 |
mysql의 기본 포트를 3306에서 3360으로 변경하는 방법 (0) | 2023.09.16 |