Python:CGI在脚本退出之前更新网页

Python:CGI在脚本退出之前更新网页,python,cgi,Python,Cgi,好的,这是我的情况。我编写了一个带有textarea的HTML表单,该表单向我的python脚本提交POST请求。我使用cgi库解析textarea并将其拆分为一个数组。然后,我使用循环处理项目,并在处理项目时打印项目。似乎即使我将print语句放入循环中,它也不会打印,直到整个过程完成并且脚本退出。html页面也将挂起,直到进程完成 我尝试在每个print语句之后使用sys.std.flush()刷新缓冲区,但是没有帮助 看看下面我的代码。我们将非常感谢您的帮助 提前谢谢 import cgi

好的,这是我的情况。我编写了一个带有textarea的HTML表单,该表单向我的python脚本提交POST请求。我使用cgi库解析textarea并将其拆分为一个数组。然后,我使用循环处理项目,并在处理项目时打印项目。似乎即使我将print语句放入循环中,它也不会打印,直到整个过程完成并且脚本退出。html页面也将挂起,直到进程完成

我尝试在每个print语句之后使用sys.std.flush()刷新缓冲区,但是没有帮助

看看下面我的代码。我们将非常感谢您的帮助

提前谢谢

import cgi
import urllib2

form = cgi.FieldStorage()

h = str(form.getvalue('list'))

list = h.split('\r\n');
try:
    print "Content-Type: text/html\n\n"
    print "<head>"
    print "<title>Age</title>"
    print "</head>"
    print "<body>"
    for x in range(0, len(list)):
        print "List: %s" %list[x] + "</br>"
        sck = urllib2.urlopen("http://www.google.com/")
        data = sck.read()
        if len(data) > 0:
            print "Data collected<br />"
        sck.close
    print "</body>"
except Exception:
    pass


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Python Demo</title>
<style type="text/css">
    #form {
        width: 400px;
    }

    #form label {
        display: block;
    }

    #form textarea {
        width: 100%;
    }

    #form input {
        display: block;
        margin-top: 10px;
    }
</style>
</head>

<body>
<div id="form">
<form id="form1" name="form1" method="post" action="demo.py">
    <label for="list">List:</label>
    <textarea name="list" id="list" cols="50" rows="10"></textarea>
    <input type="submit" name="submit" id="submit" value="Submit" />
</form>
</div>
</body>
</html>
导入cgi
导入urllib2
form=cgi.FieldStorage()
h=str(form.getvalue('list'))
list=h.split('\r\n');
尝试:
打印“内容类型:text/html\n\n”
打印“”
打印“年龄”
打印“”
打印“”
对于范围(0,len(列表))中的x:
打印“列表:%s”%List[x]+“
” sck=urllib2.urlopen(“http://www.google.com/") data=sck.read() 如果len(数据)>0: 打印“收集的数据
” 关闭 打印“” 除例外情况外: 通过 Python演示 #形式{ 宽度:400px; } #表格标签{ 显示:块; } #表单文本区{ 宽度:100%; } #表单输入{ 显示:块; 边缘顶部:10px; } 名单:
请参见

它说,大多数HTTP服务器都会缓冲cgi脚本的输出,直到完成