符合rfc 3986,支持unicode,与方案无关的urlparse替换

uritools的Python项目详细描述


此模块定义了符合RFC 3986的替换 python 2.7标准库的常用函数 urlparse和python 3urllib.parse模块。

>>> fromuritoolsimporturicompose,urijoin,urisplit,uriunsplit>>> uricompose(scheme='foo',host='example.com',port=8042,... path='/over/there',query={'name':'ferret'},... fragment='nose')'foo://example.com:8042/over/there?name=ferret#nose'
>>> parts=urisplit(_)>>> parts.scheme'foo'
>>> parts.authority'example.com:8042'
>>> parts.getport(default=80)8042
>>> parts.getquerydict().get('name')['ferret']
>>> urijoin(uriunsplit(parts),'/right/here?name=swallow#beak')'foo://example.com:8042/right/here?name=swallow#beak'

出于各种原因,python 2urlparse模块不兼容 使用当前的Internet标准,不包括Unicode支持,以及 对于专有的uri方案通常是不可用的。Python3 urllib.parse改进了对Unicode的支持,但其他问题仍然存在 留下来。如Lib/urllib/parse.py

RFC 3986 is considered the current standard and any future changes
to urlparse module should conform with it.  The urlparse module is
currently not entirely compliant with this RFC due to defacto
scenarios for parsing, and for backward compatibility purposes,
some parsing quirks from older RFCs are retained.

本模块旨在为 在urlparseurllib.parse,加上额外的函数,可以方便地编写 来自各个组件的uri。

安装

使用pip安装uritools:

pip install uritools

许可证

版权所有(c)2014-2018 Thomas Kemmer。

根据MIT License授权。

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

推荐PyPI第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储