You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ČÁST III Programování a hackování<br />
print jmeno<br />
jmena = []<br />
Z toho jazyk Python pozná, že po přijetí odpovědi 366 má vypsat nyní úplný seznam jmen na<br />
standardní výstup a poté seznam jmena znovu vyprázdnit. Tento poslední řádek – jmena =<br />
[] – je důležitý, protože bez něj by při každém průchodu cyklem program přidal uživatelská<br />
jména do seznamu, i když by se tam již nacházela z předchozího cyklu.<br />
Program ukončete zadáním následujících řádků:<br />
time.sleep(irc[‚intervaljmen‘])<br />
s.send(‚NAMES %(kanal)s\r\n‘ % irc)<br />
Tím požádáte interpret jazyka Python, aby před odesláním dalšího požadavku na uživatelská<br />
jména a dalším průchodem cyklu vyčkal tolik sekund, kolik je nastaveno v proměnné<br />
intervaljmen. Dbejte na to, abyste proměnnou intervaljmen nastavili na rozumnou hodnotu.<br />
Pokud server IRC v krátkém časovém intervalu přijme příliš mnoho požadavků, může<br />
program nuceně odpojit kvůli přetěžování (flooding).<br />
Uložte program pod názvem seznamuzivateluirc.py a spusťte jej buď pomocí příkazu Run<br />
Module (Spustit modul) z nabídky Run v prostředí IDLE, nebo zadáním příkazu python seznamuzivateluirc.py<br />
v okně terminálu. Při prvním spuštění programu může připojení k serveru<br />
chvíli trvat. Jakmile je však program připojen, měl by se seznam jmen (viz obrázek 11.7) aktualizovat<br />
rychle. Chcete-li program ukončit, stiskněte klávesy Ctrl+C.<br />
Obrázek 11.7: Výpis seznamu uživatelů kanálu IRC pomocí programu jazyka Python<br />
Úplný výpis programu, který vypisuje seznam uživatelů IRC, je uveden v Příloze A, „Recepty<br />
jazyka Python“, a na stránce knihy na adrese http://knihy.cpress.cz/K2123 v sekci Soubory ke<br />
stažení. Když si zdrojový kód stáhnete z webu, ušetříte si sice trochu psaní, ale při ručním zadávání<br />
kódu si můžete ověřit, zda jednotlivým částem programu rozumíte.<br />
170