0

我是 python 和 mod_wsgi 开发的新手。当我想从 POST 获取数据时,我读取envron['wsgi.input']并因此得到name=username&fullname=name&pass=password. 现在我的问题是如何拆分它以将该输入作为数组。例如阅读喜欢name = arraypost[0]

4

2 回答 2

1

在这里,我将演示如何在 Python 3 中执行此操作。使用urllib.parse.parse_qs将其转换为列表字典。

import urllib.parse

post = urllib.parse.parse_qs(environ['QUERY_STRING'])

# get value of first instance of POST var 'foo'
print(post.get(b'foo',[''])[0])

注意get()上面的使用。第一个参数是字节串,第二个参数是默认值。正如我所说,它是一个列表字典,并且由于我们立即从索引 0 获取,我们希望那里至少有一个长度为零的字符串,这样我们就不会越界。

于 2014-02-28T13:53:27.040 回答
0

您可以拆分数据并将其传递给 dict() 以创建键值对字典:

post_dict = dict([item.split('=') for item in envron['wsgi.input'].split('&')])
print post_dict['name']
print post_dict['fullname']
print post_dict['pass']
于 2013-09-15T17:45:33.700 回答