# 2. fealadat - Statisztika szkript **Feladat:** Készítsünk futtatható Python szkriptet `mirror_stat.py` néven, amely statisztikát készít megadott Debian mirror szerverek elérhetőségéről, amit a futása végén ki is listáz! A forráskód: ```python #!/usr/bin/env python3 import ping3 import pprint def read_file(): domains = [] with open("debian_mirrors.txt", "r") as f: for line in f: domain = line.split('http://')[1] domain = domain.split('/debian')[0] domains.append(domain) f.close() return domains def pingging(domains): stats = {} for domain in domains: stats[domain] = ping3.ping(domain) # don't need sudo priv for this in a modern system return stats def write_out(stats): pprint.pprint(stats) def main(): write_out(pingging(read_file())) if __name__ == '__main__': main() ``` Először is definiáltam egy függvényt, ami megnyitja a fájlt, és kiolvassa, majd feldolgozza annak a sorait. Miután ez megtörténik, elkészítettem a pingelős függvényt, mely megpingeli a domaineket, és egy `tuple`-be menti az eredményt. Végül a PrettyPrint könyvtár segítségével szépen megjelenítem a kapott `tuple` tartalmát. Futtatás: ```bash $ ./mirror_stat.py # don't need sudo priv for this in a modern system {'ftp.at.debian.org': 0.03299736976623535, 'ftp.au.debian.org': 0.34027576446533203, 'ftp.be.debian.org': 0.03146529197692871, 'ftp.bg.debian.org': 0.026972532272338867, 'ftp.br.debian.org': 0.24283742904663086, 'ftp.by.debian.org': 0.04458022117614746, 'ftp.ca.debian.org': 0.18018722534179688, 'ftp.ch.debian.org': 0.028354883193969727, 'ftp.cl.debian.org': 0.30657315254211426, 'ftp.cn.debian.org': 0.3067350387573242, 'ftp.cz.debian.org': 0.01130819320678711, 'ftp.de.debian.org': 0.03345513343811035, 'ftp.dk.debian.org': 0.038808584213256836, 'ftp.ee.debian.org': 0.0491025447845459, 'ftp.es.debian.org': 0.02813887596130371, 'ftp.fi.debian.org': 0.0488126277923584, 'ftp.fr.debian.org': 0.026817798614501953, 'ftp.gr.debian.org': 0.03269171714782715, 'ftp.hk.debian.org': 0.2723119258880615, 'ftp.hr.debian.org': 0.014515399932861328, 'ftp.hu.debian.org': None, 'ftp.ie.debian.org': 0.02628612518310547, 'ftp.ir.debian.org': 0.08768963813781738, 'ftp.is.debian.org': 0.032915592193603516, 'ftp.it.debian.org': 0.024731159210205078, 'ftp.jp.debian.org': None, 'ftp.kr.debian.org': 0.29165196418762207, 'ftp.lt.debian.org': None, 'ftp.mx.debian.org': 0.19156241416931152, 'ftp.nc.debian.org': 0.28337621688842773, 'ftp.nl.debian.org': 0.027075767517089844, 'ftp.no.debian.org': 0.04285454750061035, 'ftp.nz.debian.org': 0.4031505584716797, 'ftp.pl.debian.org': 0.03990578651428223, 'ftp.pt.debian.org': 0.055294036865234375, 'ftp.ro.debian.org': 0.02721881866455078, 'ftp.ru.debian.org': 0.06427860260009766, 'ftp.se.debian.org': 0.049542903900146484, 'ftp.si.debian.org': 0.03377056121826172, 'ftp.sk.debian.org': 0.014045000076293945, 'ftp.sv.debian.org': 0.23726940155029297, 'ftp.tr.debian.org': None, 'ftp.tw.debian.org': 0.4211571216583252, 'ftp.ua.debian.org': 0.04955434799194336, 'ftp.uk.debian.org': 0.03197216987609863, 'ftp.us.debian.org': 0.20902609825134277, 'ftp2.de.debian.org': 0.020498037338256836, 'ftp2.fr.debian.org': 0.02599787712097168} ``` Sikeresen megpingettem a mirror szervereket, ezeket ki is listáztam. ---