2011-08-21 157 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