Python 有没办法实现像 PHP 一样一个脚本文件==一个网页, stdout 直接输出到网页上?这个设计真不错

284 天前
 drymonfidelia
1933 次点击
所在节点    Python
17 条回复
tomczhen
284 天前
文艺复兴,CGI 模块都被弃用了。非要弄也容易,文件路由,配合模板输出就行。
flyqie
284 天前
真文艺复兴了。。

python cgi 都多久没人用了。。
drymonfidelia
284 天前
@tomczhen 我知道可以这么做,有没有现成的框架,现在的框架好像都是类似 MVC 那种结构
drymonfidelia
284 天前
拿到了一堆控制台输入输出的屎山脚本,想快速批量转成 API 方便调用
@flyqie
mightybruce
284 天前
这个不限于框架了,简单点用重定向,或者启动一个子进程通过管道把结果传过来,方法很多。
drymonfidelia
284 天前
@mightybruce 拿 Flask 写了一个,没办法并发,一个请求会把整个线程卡住,打补丁也不行
mightybruce
284 天前
脚本属于阻塞式执行, 你要么搞个异步执行任务,得到结果返回通知,否则没有办法。
drymonfidelia
284 天前
@mightybruce 我想到的办法是拿 php 调用 python ,但两个语言我都不是非常熟
drymonfidelia
284 天前
php 的 cgi 能做到请求间互不影响
mightybruce
284 天前
cgi 是协议,和语言无关, 现在还用 cgi 的也是老古董了,可以参考这个试试
https://www.jianshu.com/p/62f0b9a3dd3e

然后要么参考一下分布式任务执行框架如 celery 。
FYFX
284 天前
@drymonfidelia #6 可以用支持异步的 python web 框架试试
dayeye2006199
284 天前
模板引擎,传统的 Django 那套
realJamespond
284 天前
FreeMarker 了解下
Belmode
284 天前
模板引擎,Jinja2 + Django 或者 Flask ,正合适
8355
283 天前
所以干嘛不用 php
EMMMMMMMMM
283 天前
哈哈, NGINX 做足够了吧
tomczhen
283 天前
php 不受影响是因为走的 php-fpm + fastcgi ,用 php-cli 的 -S 参数启动一样阻塞。

用一个 wsgi server 库(比如: waitress )来启动 flask 并指定多个 worker/thread ,也可以不阻塞。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1024885

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX