简单资源地址分析器。

res-address的Python项目详细描述


python模块解析简单的网络资源地址,如 在许多数据库系统中用来表示数据库uri。

res_address将由Mongotail使用 解析通过命令行传递的地址(正在进行迁移),但可以使用 任何其他需要解析mongodb数据库地址的python应用程序, 或任何其他网络资源,如[[HOST OR IP][:PORT]/]RESOURCE

用法:

>>>fromres_addressimportget_res_address>>>host,port,resource=get_res_address("localhost:27017/test")>>>print(host,port,resource)localhost27017test>>>host,port,resource=get_res_address("my_db")>>>print(host,port,resource)NoneNonemy_db>>>ipv6,port,resource=get_res_address("[::1]:9999/foo")>>>print(ipv6,port,resource)[::1]9999foo

地址可以是:

foofoo resource on local machine (IPv4 connection)
192.169.0.5/foofoo resource on 192.168.0.5 machine
remotehost/foofoo resource on remotehost machine
192.169.0.5:9999/foofoo resource on 192.168.0.5 machine on port 9999
“[::1]:9999/foo”foo resource on ::1 machine on port 9999 (IPv6 connection)
:1234/foofoo resource on port 1234

一些验证是通过主机、端口和资源字符串执行的,并且 如果某些检查失败,则启动异常,但要考虑到 无效的范围IP或不兼容的资源名称可能会传递:

>>>host,port,resource=get_res_address("localhost:INVALIDport/test")Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"res_address/__init__.py",line74,inget_res_addressraiseInvalidPortError('Invalid port number "%s"'%port,address,port)res_address.InvalidPortError:Invalidportnumber"INVALIDport"

所有验证异常都继承自AddressError

  • InvalidHostError
  • InvalidPortError
  • InvalidResourceError
  • NotResourceProvidedError

运行测试

只需执行(python 2或3):

$ python setup.py test

或:

$ python -m unittest -v tests

关于

项目:https://github.com/mrsarm/python-res-address

作者:(2018-2019)Mariano Ruiz<;mrsarm@gmail.cm>;

许可证:lgpl-3

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

推荐PyPI第三方库


热门话题
java如何发送JSON post请求,并在restAssured中的请求正文中列出一个列表   java JBREM000202:远程连接58fb662d到/127.0.0.1:9990时突然关闭   swing如何在不传递ID的情况下识别运行在哪个Java小程序上下文中?   java在5个插槽中打印PDF   将rawbyte值转换为Java类型   JAVAutil。vCPU为2时并发Java runAsync和ForkJoin   javascript 2.9是14.5,对于给定的4个条目,分数为20,是否正确   java扫描程序构造函数导致bufferedReader返回null   JavaFacebook图形API:获取给定用户的评论   java在循环中创建JButtons只会导致最后一个出现   java调用二维数组   java Testng不工作   转换ß。在java中使用toUpperCase()将cfg转换为大写   用java调用C++ DLL   java格式化Excel工作表中的日期