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