python-3.x - 在 __getattr__ 中引发 AttributeError(attr) AttributeError: to_text
问题描述
该程序假定返回针对域解析的域名和 MX。但它给出了这个错误,不确定我做错了什么。我收到此错误:getattr raise AttributeError(attr) AttributeError: to_text
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import socket
import dns.resolver
import re
domain = ['gmail.com' , 'hotmail.com' , 'abcfder.abc']
#function for mx
def getmx (domain):
nomx= "no.mx.resolved."
try:
result = dns.resolver.query(domain, 'MX')
#for mailexchange in result:
return (domain, result.to_text())
#break
except dns.exception.DNSException as e:
if isinstance(e, dns.resolver.NXDOMAIN):
return (domain, nomx)
#break
#function to remove '\n' from list
def clean (domainname):
tmpstr = domainname
domainname = tmpstr.strip()
return (domainname)
#loop to keep sending domain names to MX function till EOF
x=0
while x<len(domain):
strtmp = domain[x]
d = clean(strtmp)
#print (d)
mx=getmx(d)
print (mx)
x=x+1
f.close()
解决方案
dns.resolver.query 返回一个没有方法的Answerto_text()
对象,但 Answer 有一个 response 属性to_text()
,尝试:
result.response.to_text()
推荐阅读
- stanford-nlp - 斯坦福核心 NLP NER 输出
- android - Motion Layout OnSwipe 禁止点击 YoutubePlayer (YoutubePlayer API)
- html - 表格强制显示:block;响应式设计不会填满屏幕
- r - 在 R 中拆分和组织名称字符串
- javascript - 引导下拉子菜单的键盘导航
- php - 将数据从表传输到同一数据库中的另一个表
- python - 试图向 Django 脆皮表单输入字段添加属性
- swift - 如何在闭包中使用闭包,而不创建无限循环?
- c++ - std::enable_if 如何防止成员模板的声明?
- javascript - React Hook 在函数“onSubmit”中调用,该函数既不是 React 函数组件也不是自定义 React Hook 函数