首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web.py中的动态打印

web.py中的动态打印
EN

Stack Overflow用户
提问于 2011-07-18 19:31:24
回答 2查看 840关注 0票数 0

我正在将一个应用程序从cgi转移到web.py。我使用cgi中的一条简单的print语句来获得结果并动态打印它们。因此,结果在页面加载完成之前就已经打印出来了。在web.py中,我有一个返回语句,但我不知道如何才能达到同样的效果。

示例cgi代码:

代码语言:javascript
复制
print "<p><b>Displaying Search Results</b></p>"
print "<table>"
cmd = subprocess.Popen(["find", location ,"-name", fileName], stdout=subprocess.PIPE)
for line in cmd.stdout:
    tableData=line.rstrip("\n")
    tableRow="<tr><td>tableData</td></tr>"
    print tableRow
print "</table>"

上面的代码将在生成时一次打印一行。如何为web.py编写相同的代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-18 19:48:11

使用附加的字符串并最终返回:

代码语言:javascript
复制
s = "My page with..."
s += "More data"
for y in x:
    s += "And this!"
return s

或者产生数据的能力,在http://webpy.org/cookbook/streaming_large_files中描述了一些陷阱,你必须设置一些头文件,你不能混合returnyield,因为你把它变成了生成器。

设置标题的一部分,您将使用:yield "Some more data",类似于您的CGI脚本中的打印。

票数 2
EN

Stack Overflow用户

发布于 2011-07-20 18:41:52

即使您可以通过将print替换为连接和单个返回来简化移植,也可以考虑使用模板引擎(web.py有一个名为Templetor的内置模板引擎)。

将逻辑从表示中分离出来,可以让您更轻松地更改其中一个,而不需要考虑另一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6732227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档