处理模块_wsgi.inpu

2024-09-26 18:13:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python和mod\wsgi开发的新手。当我想从POST获取数据时,我读了envron['wsgi.input'],结果我得到了name=username&fullname=name&pass=password。现在我的问题是如何拆分它以获得数组形式的输入。例如读起来像name = arraypost[0]?在


Tags: namemodwsgiinputusernamepasspassword数组
2条回答

这里我将演示如何在Python3中实现。使用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中获取数据,所以我们希望至少有一个零长度的字符串,这样就不会超出范围。在

您可以拆分数据并将其传递给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']

相关问题 更多 >

    热门问题