Newer
Older
**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!
#!/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)
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.
$ ./mirror_stat.py # don't need sudo priv for this in a modern system
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
{'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.
---