dnspython and python objects
我正在尝试使用dnspython库,并对查询此页上MX记录的示例感到有点困惑:www.dnspython.org/examples.html:
1 2 3 4 5 | import dns.resolver answers = dns.resolver.query('dnspython.org', 'MX') for rdata in answers: print 'Host', rdata.exchange, 'has preference', rdata.preference |
在python cli中,dir(answers)给了我:
1 | ['__class__', '__delattr__', '__delitem__', '__delslice__', '__dict__', '__doc__', '__getattr__', '__getattribute__', '__getitem__', '__getslice__', '__hash__', '__init__', '__iter__', '__len__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', 'expiration', 'qname', 'rdclass', 'rdtype', 'response', 'rrset'] |
有两件事让我困惑(相关的):
到目前为止,我还没有看过
从外观上看,
我怀疑
感谢您提及此模块并与DNS一起玩得开心。如果你真的深入研究它是如何工作的,这真的很有趣。我仍然认为,这是一个早期的表达,平静的事情是所有愤怒的这些天;)
答案是可重复的,正如它的"重复"方法所指出的那样。把答案看作是一个RDatas列表。
您可以尝试这样做,从答案中获取1个RData:
1 | answers.__iter__().next() |
在示例代码中,
1 | dir(answers[0]) |
如果您使用的是python 2.6,那么获得任何iterable的第一个项目(例如这里的