2011-08-21 207 views
-2

我试着去与socket.gethostbyaddr一起使用http://code.google.com/p/pywhois/蟒蛇for循环

import socket 
import pywhois 

revip = socket.gethostbyaddr('50.57.48.133') 
whois = pywhois.whois(revip[0]) 
for i in whois.emails: 
print 

给了我三行空话。我试图从whois查询中打印出电子邮件。 whois.emails内部存储的数据为

['[email protected]', '[email protected]', '[email protected]'] 

这里怎么回事?

+1

“太本地化”?如何遍历一个太本地化的循环? –

+0

没有人会永远相当很快再次退出教程。 – agf

+0

一般来说,你不应该叫变量'i'除非它是一个数字索引;这是误导,有点像定义一个变量'name = 5'。 – ninjagecko

回答

2

要获取该代码工作,你需要打印后加入我:

for i in whois.emails: 
    print i # you may see print(i) because in Python 3 print is a function. 
      # and it does not matter in Python < 3 

为了得到这个格式

[ '[email protected]',“josh.odom @ rackspace.com”, '[email protected]']

调用整个列表上打印(无循环):

print whois.emails 
+0

我想要做的是在fail2ban中添加一个函数,该函数将查询whois服务器并获取联系人信息,使其包含在发送给管理员的电子邮件中,因为违反了某个规则。我很难做到这一点,因为我只在不到一个小时的时间内完成了Python的修改。 –

2
print i 

这应该可以解决您的问题。

+1

你一个也使它'印刷(一)'向前兼容。 :-) – Keith

+0

Python 3? Eww:] –

0

也许你应该做的print i,而不是仅仅print