使用重定向命令是否可以将Python输出重定向到Web网页上? 我知道我们可以像这样重定向输出
import sys
sys.stdout = open('file', 'w')
print 'test'
或者
在终端中,像这样:
$ python foo.py > file
我听说像 Django 和 Flask 这样的 Web 框架可以解决这个问题。我想知道是否可以通过像 sys.stdout
这样的简单命令将输出重定向到 Web?
如果你想快速访问 Python 脚本的输出结果,一种很酷的小技巧是将其重定向到 nc
并使用 -l
(监听)选项,像这样:
python foo.py | nc -l 8080
然后您可以在Web浏览器中输入localhost:8080
来查看输出。但它并不是真正的Web服务器 - 它只能工作一次!一旦有人加载了页面,它就会停止服务请求。
作为稍微高级一点的变体,允许多次访问该页面,请将其包装在循环中,例如:
while true; do python foo.py | nc -l 8080; done
不过这会让您的脚本在每次刷新页面时重新运行!作为最后一层复杂性,您可以缓存结果,以便不必每次重新计算:
python foo.py > /tmp/myoutput; while true; do nc -l 8080 < /tmp/myoutput; done
显然,这些都不是真正的生产级解决方案,你应该使用像Flask等合适的Web框架,但如果你只想快速测试一些东西,它们可以派上用场。
通用视图
可以吗? https://docs.djangoproject.com/en/1.4/ref/generic-views/#django-views-generic-simple-redirect-to - NIMISHAN