- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
import socket
print('Please wait... i think ;)')
#port = 443
a = range(200)
b = list(a)
hosts = ['mrim'+str(iter_host)+'.mail.ru' for iter_host in b]
host_list = []
ix = 0
for host in hosts:
try:
host_list.append(socket.gethostbyname_ex(host))
sl=[('IP: ',hostl[2],' Host: ',hostl[0]) for hostl in host_list]
except socket.error:
pass
while host_list != []:
try:
print(sl[ix])
ix += 1
except IndexError:
break
print('Done! Good luck ;)')
waiting = input() #for mustdie
Vindicar 15.10.2012 10:50 # 0
fess 15.10.2012 13:16 # 0
Vindicar 15.10.2012 13:40 # 0
Кхм, ты хочешь сказать что знаешь про генераторы и исключения, но не знаешь про цикл "for item in iterable"?
Не верю.
fess 15.10.2012 13:45 # 0
Vindicar 15.10.2012 13:59 # 0
Я бы написал так, вот только один фиг mrim*.mail.ru не резолвится.
Резолвится только mrim.mail.ru
fess 15.10.2012 14:28 # 0
Vindicar 15.10.2012 15:12 # 0
with open("filename.txt", "wt") as f:
....
да поправь print на f.write('IP: {ip} Host: {host}\n'.format(ip=ip, host=host))
roman-kashitsyn 15.10.2012 15:15 # +1
Vindicar 15.10.2012 15:18 # 0
fess 15.10.2012 15:29 # 0
Vindicar 15.10.2012 15:34 # +3
минус - значит код либо нормальный, либо баян, либо выглядит искуственно, как выхлоп кодо-генератора или попытка сделать нарочито плохо.
плюс - значит код прекрасен в своем уродстве.
Ну и стадный эффект никто не отменял...
fess 15.10.2012 15:45 # 0
fess 15.10.2012 14:34 # 0
roman-kashitsyn 15.10.2012 14:42 # 0
fess 15.10.2012 14:51 # 0
eth0 16.10.2012 19:03 # +1
fess 17.10.2012 04:57 # 0
Vindicar 15.10.2012 10:55 # +2
Equivalent to eval(raw_input(prompt)). It expects a valid Python expression as input; if the input is not syntactically valid, a SyntaxError will be raised.
fess 15.10.2012 14:57 # 0
3.14159265 15.10.2012 15:20 # +3
Vindicar 15.10.2012 15:28 # +1
Если надо ждать именно нажатия клавиши, то можно залезть в дебри (вроде msvcrt.getwch() под винду или библиотеки curses).
А вообще я такие вещи стараюсь по возможности возложить на шелл.
Все равно потом во многих случаях требуется вызывать скрипт в пакетном режиме с перенаправлением, и все эти ожидания пользовательского ввода будут только мешать.
fess 15.10.2012 15:43 # 0
Vindicar 15.10.2012 16:25 # 0
Нафига так извратились во втором я сам не знаю.
fess 15.10.2012 16:29 # −1
zim 15.10.2012 12:44 # 0
Молоца.
Lure Of Chaos 15.10.2012 18:10 # −2
это таки самий кошегний способ, да?
fess 16.10.2012 06:25 # 0
guest 16.10.2012 06:19 # +2
try:
print(sl[ix])
ix += 1
except IndexError:
break
убило просто
fess 16.10.2012 06:21 # 0
fess 16.10.2012 06:23 # 0