Python [mod_wsgi]如何将所有mysql结果收集到一个数组中?

时间:2013-05-10 23:34:54

标签: python python-2.7 mod-wsgi wsgi mysql-python

通过cli:

[root@localhost 0]# python test13.wsgi
(1, 'aaaaaa')
(2, 'sdsdfsdfsd')
(3, 'dsfsdfasdfsdf')
(4, 'sdgsdgsdfsa')
[root@localhost 0]# 

通过apache:

(4, 'sdgsdgsdfsa')

脚本代码:

import MySQLdb
conn = MySQLdb.connect (host = "localhost",
                        user = "root",
                        passwd = "",
                        db = "aaa")
cursor = conn.cursor ()
cursor.execute ("select * from bbb limit 10")
numrows = int(cursor.rowcount)
for i in range(numrows):
    row =  cursor.fetchone()
    print row
cursor.close ()
conn.close ()

def application(environ, start_response):
    start_response('200 OK', [('content-type', 'text/html')])
    return [repr(row)]

我想简单地将所有这些行放入像php这样的数组中 然后在python中执行print_r()等效于php。

所以在apache中打印的是一切,而不仅仅是 最后一个。

1 个答案:

答案 0 :(得分:1)

此代码:

for i in range(numrows):
    row =  cursor.fetchone()

row设置为cursor.fetchone() numrows次的结果。它没有列表。

您可能只想写rows = cursor.fetchall()

另外,如果您正在尝试使用Python编写一个简单(或复杂)的Web应用程序,我会考虑查看Flask