详情介绍
dnspython是Python的一个DNS工具包。它支持几乎所有的记录类型。它可以用于查询、区域转移和动态更新。它支持TSIG验证消息和EDNS0。
dnspython提供了高和低水平访问DNS。高水平类执行查询数据给定的名称、类型和类,并返回一组回答。低水平类允许DNS区域的直接操纵,信息,名字,和记录。
看到几个dnspython可用的方法,访问页面的示例。
dnspython起源在Nominum那里发达促进DNS软件的测试。Nominum慷慨地允许它在bsd风格的开源许可证,并帮助支持其未来发展通过继续采用作者:)。
安装使用方法
这里采用源码的安装方式,最新版本为1.12.0,如下:
# //www.dnspython.org/kits/1.12.0/dnspython-1.12.0.tar.gz
# tar -zxvf dnspython-1.12.0.tar.gz
# cd dnspython-1.12.0
# python setup.py install
对域名进行操作
域名是 DNS 系统中最基本的对象。
dnspython 通过类 dns.name.Name 提供了对域名信息进行封装。
对于类 dns.name.Name 的实例,我们可以进行一些操作。
请看下面的例子(已经准备好了交互式 Python 环境了吗):
>>> import dns.name
>>> n1 = dns.name.from_text('google.com')
>>> print type(n1)
<class 'dns.name.Name'>
首先,我们导入模块 dns.name。
通过函数 dns.name.from_text(),我们很方便的从字符串 google.com 创建了一个类 dns.name.Name 的实例。
随后,我们通过 type() 函数证实了这一点。
让我们再创建几个类 dns.name.Name 的实例。
>>> n0 = dns.name.from_text('com')
>>> n2 = dns.name.from_text('www.google.com')
>>> n3 = dns.name.from_text('www.google.cn')
类 dns.name.Name 的方法 is_subdomain() 和 is_superdomain 可以帮助我们判读一个域名是否是另一个域名的子域或者超域。
>>> n0.is_superdomain(n2)
True
>>> n0.is_superdomain(n3)
False
>>> n2.is_subdomain(n1)
True
>>> n3.is_subdomain(n1)
False
>>> n1.is_subdomain(n1)
True
>>> n1.is_superdomain(n1)
True
通过上面的例子我们看到,com 是 www.google.com 的 super domain,不是 www.google.cn 的 super domain。反过来说,www.google.com是 com 的 subdoamin 成立,而 www.google.cn 是 com 的 subdomain 不成立。
我们还意识到一个 dns.name.Name 总是自己的 super domain 和 subdomain。
让我们看看如何处理域名间的相对关系:
>>> r1 = n2.relativize(n1)
>>> print r1
www
>>> r2 = n2 - n1
>>> r1 == r2
True
我们看到,通过 relativize() 方法可以获得一个域名相对其 superdomain 的部分,例如 n2 相对 n1 的部分是 www。
我们也可以使用减(-)操作得到等价结果。那么,是否可以使用加(+)操作处理域名呢?
>>> r1 + n1 == n2
True
答案是肯定的。
收起
dnspython 增删改查记录
操作
dic.clear() 清除字典
dic.keys() 获取键的列表
dic.values() 获取值的列表
dic.copy() 复制字典
dic.pop(k) 删除键k
dic.get(k) 得到键k的值
dic.update() 更新成员,若成员不在,相当于添加
dic.items() 获得由键和值组成的列表
dic.popitem() 随机删除一个键值对,并将其返回
实例
d = {'name':'LBJ','age':23,'addr':'BeiJing'}
print 'd=',d #显示结果:d= {'age': 23, 'name': 'LBJ', 'addr': 'BeiJing'}
d.clear() ;
print 'd=',d #显示结果:d= {}
d.update({'name':'LBJ','age':23,'addr':'BeiJing'})
print 'd=',d #显示结果:d= {'age': 23, 'name': 'LBJ', 'addr': 'BeiJing'}
print 'd.keys()=',d.keys() #显示结果:d.keys()= ['age', 'name', 'addr']
print 'd.values()=',d.values() #显示结果:d.values()= [23, 'LBJ', 'BeiJing']
d2 = d.copy()
print 'd2=',d2 #显示结果:d2= {'age': 23, 'name': 'LBJ', 'addr': 'BeiJing'}
print 'd.popitem()=',d.popitem() #显示结果:d.popitem()= ('age', 23)
print 'd=',d #显示结果:d= {'name': 'LBJ', 'addr': 'BeiJing'}
下载地址
人气软件
EXT界面图形工具Ext Designer 特别版
myeclipse2016破解工具 v1.0 破解补丁(附安装教程)
Zend Studio 10.1.0与10.0.1 破解文件与注册码打包
Python Tutor(代码可视化软件) v1.3.5.16 免费版
php编写工具 PHP Expert Editor v4.2 中文特别版
jetbrains pycharm professional(python开发工具) v4.0.5 特别版
Eclipse Neon v4.6.0 64位 官方安装免费版(附汉化包)
WebStorm 2017.3.3 正式版 官方安装版(附汉化包) JavaScript开发
myeclipse 2017 ci 3 破解工具 破解补丁CI激活码 免费版
TopStyle v4.0.0.68 英文绿色特别版 CSS编写工具带预览功能
相关文章
- Python 3.2.3 官方文档(中文PDF版)
Python3.2.3,官方文档翻译,python3.2,更改方法了,并不向下兼容...
- python 3.4 入门指南 官方中文版 pdf扫描版[2MB]
Python是一门简单易学,功能强大的编程语言。它具有高效的高级数据结构和简单而有效的面向对象编程方法,本平台提供python3.4入门指南pdf下载...
- 编写高质量代码:改善Python程序的91个建议 (张颖/赖勇浩) 中文pdf扫描版[54MB]
本书将为你编写健壮、优雅、高质量的Python代码提供切实帮助,从基本原则、惯用法、语法、库、设计模式、内部机制、开发工具和性能优化8个方面深入探讨了编写高质量Python...
- Python计算与编程实践:多媒体方法(原书第2版) 迷你书 中文pdf扫描版[3MB]
这本书是一本别出心裁的程序设计入门教程,以Python数字多媒体编程为主线,依次讲解了图像、声音、文本和电影的处理,其中穿插介绍了大量的计算机程序设计基础知识...
- Python编程实践 中文pdf扫描版[60MB] 附代码
python编程实践通过一些短小精悍的交互式python脚本帮助学生进行练习,并在这个过程中掌握诸如数据结构、排序和搜索算法、面向对象编程、数据库访问、图形用户界面等基本概...
- Python袖珍指南 第5版 (美)卢茨(Mark Lutz) 中文pdf扫描版[26MB]完整版
Python袖珍指南(第5版)概括了Python的类型、语句、专用方法名、内建函数、异常、常用标准库模块和其他简洁的Python工具。本书旨在为开发者提供一个简明的参考工具...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的python dns解析文件(dnspython) v1.12.0 最新版(windows+linux版)资源来源互联网,版权归该下载资源的合法拥有者所有。