北极蟒港口

querystring的Python项目详细描述


此回购协议是node.js querystring module的端口。

它包含两个方法,parse_qsstringify_obj,它们在功能上等价于 querystring.parsequerystring.stringify节点对应项。它还包含默认值 encode_uri_componentdecode_uri_component函数,可以方便地使用。

安装

pip install querystring

用法

分析查询字符串

>>> querystring.parse_qs('foo=bar&baz=qux&baz=quux&corge=')
{u'foo': u'bar', u'baz': [u'qux', u'quux'], u'corge': u''}
>>> querystring.parse_qs('foo:bar;baz:qux;baz:quux;corge:', sep=';', eq=':')
{u'foo': u'bar', u'baz': [u'qux', u'quux'], u'corge': u''}
>>> def gbk_decode(s):
...     return urllib.unquote(s)
...
>>> querystring.parse_qs('foo=bar&w=%D6%D0%CE%C4', decode_fn=gbk_decode)
{'foo': 'bar', 'w': '\xd6\xd0\xce\xc4'}  # u'中文'

将对象转换回查询字符串

>>> querystring.stringify_obj({'foo': 'bar', 'baz': ['qux', 'quux'], 'corge': ''})
'foo=bar&baz=qux&baz=quux&corge='
>>> querystring.stringify_obj({'foo': 'bar', 'baz': ['qux', 'quux'], 'corge': ''}, sep=';', eq=':')
'foo:bar;baz:qux;baz:quux;corge:'
>>> def gbk_encode(s):
...     return urllib.quote(unicode(s).encode('gbk'))
...
>>> querystring.stringify_obj({'foo': 'bar', 'w': u'中文'}, encode_fn=gbk_encode)
'foo=bar&w=%D6%D0%CE%C4'

动机

我们正在寻找一个简单的模块,以合理的方式解析查询参数, 对urlparse如何处理参数(将所有值放入列表)感到不满意, 所以我们做了这个。

许可证

版权所有Refinery29,Inc.

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,并允许 向其提供软件的人员,受 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。在 作者或版权持有人对任何索赔概不负责, 损害赔偿或其他责任,无论是在合同、侵权行为或 否则,由软件或 在软件中使用或进行其他交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
将中心面板添加到“我的内容”窗格时,java GUI对象消失   java无法更新oracle中的clob字段   php Linux+动态插入的Java小程序=在NPObject上调用方法时出错   java JVisualVM探查器代理jar已加载,但代理初始化失败   java Android在运算符和TextView值方面存在问题   用于OpenPGP智能卡小程序的rsa解密APDU   Java GUI按钮不会添加到面板中   java找不到移动图像(或其他可单击对象)的方法   java中Do/While循环的问题   多线程使java程序在没有线程的情况下休眠   java如何在Webflux功能端点的测试中禁用Spring安全性   如果存在后退历史记录,则java WebView仅显示后退按钮   通过USB将Arduino中显示的java错误数据传输到Android   java如何使用安卓 studio从4层父节点firebase获取子节点数据   jpanel中JLabel的java搜索栏   来自gallery/camera的java Android图像预览不同