简单资源地址分析器。

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岩石、布、剪刀程序,带文件输入   java迭代Hashmap中的值列表   数组不能正确循环   JavaHibernate:对于一个遥远的惰性依赖,有一个渴望的获取者吗?   交通阻塞下的java车辆路径选择   如何在java中创建布尔方法来检查添加到具有特定索引的arraylist的对象   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   为什么坐标有时相等,有时不相等?   java libgdx CameraInputController过于敏感,平移开始得太早   将C++排序函数移植到java   java应该是十进制的   swing Java JFrame中的所有内容都不可见   java使用数组中除一个元素以外的所有元素   从子类运行构造函数的Java