2014-02-13 260 views
1

我試圖指定每次調用API時將設置的地址範圍。對於下面的示例,當引用api時,我希望它將範圍內的主機列入列表,而不僅僅是當前的列表。引用IP地址範圍

api = xmlrpclib.ServerProxy("http://user:[email protected]:8442/") 

生成的地址看起來非常簡單就夠了,但我不能確定如何將其存放在api爲基準,它發送到每個主機,例如192.168.0.1 - 192.168.0.100而不只是一個。

for i in range(100): 
    ip = "192.168.0.%d" % (i) 
    print ip 

我還希望能夠指定範圍,例如, 192.168.0.5 - 192.168.0.50而不是從零遞增。

更新: API不能很好地處理列表,因此解決方案需要能夠解析列表。可能這隻需要第二個for聲明?

回答

1

如果你想有一個不同的範圍:

for i in range(5,51): 
    ip = "192.168.0.%d" % (i) 
    print ip 

不知道你的設置多個的意思。那個for循環就是爲你做的。如果你正在討論保存你的api的引用,你也可以把它們放到一個列表中。

api = [] 
for i in xrange(5,51): 
    ip = "192.168.0.%d" % (i) 
    api.append(xmlrpclib.ServerProxy("http://user:[email protected]" + ip)) 
+0

謝謝,很明顯,這個API不直接支持列表使用。有沒有辦法解析API中的每個項目,或者需要另一個'for'語句來遍歷列表中的每個項目並對它做些什麼? – Astron

+0

即使在解析api列表中的每個項目時,仍然會遍歷該列表。 for循環不應該更慢。對不起,如果這不是你問的。 – sihrc