[python] Jak udělat odpočítávání?

regnarG regnarg na seznam.cz
Čtvrtek Září 13 16:45:13 CEST 2007


Mazlík napsal(a):
> Ahoj :-)
>
> Potřebuju udělat script, kde by hned na začátku byl raw_input a
> odpočítávání. Např:
>
> rozcestik = raw_input()
> -----------------------
> Napište číslo podle nabídky a stiskněte ENTER
> (1) Start
> (2) Konfigurace
> (3) Napoveda
> (4) Konec
> -----------------------
>
> A teď chci, aby uživatel měl na tuto volbu např: 10 vteřin a pokud nic
> neudělá, tak se do proměnné "rozcestik" vloží hodnota třeba "1" (Jako
> kdyby místo něj napsal třeba jedničku a enter :-))
>
> Pak mě napadla druhá varianta, že pokud by se script / program spustil
> s určitým argumentem, tak by ta nabídka volby vůbec nebyla a proměnné
> by se hodnota přiřadila sama. Jenže já pak potřebuju udělat .exe
> (py2exe) a nejsem si jistý, jestli by toto argumenty fungovali na
> 100pro a hlavně je to otrava psát parametry pro spuštění :)
>
> Mockrát dík :-)
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>   
Zdravím,
Nejjednodušší (a nejelegantnější) by bylo použití funkce alarm a obsluhy
SIGALRM, ale to je možné pouze na rozumných OS, které vyhovují normě
POSIX (což by správně měly všechny systémy, ale nic není ideální...),
což asi vzhledem k poznámce o py2exe nebude aplikovatelné na váš případ.
Další možností by bylo použití funkce select, ale to také na OS, který
nejmenujeme, nepůjde (tam funguje select jen se sockety). Možná by šlo
určitým způsobem využít nonblocking IO, ale to by nejspíš vyžadovalo
pywin32 knihovny a nevím, jaká je úroveň podpory této funkce v technicky
nedokonalých systémech. Řešení přes thready mi přijde docela
komplikované a nespolehlivé, hlavně je otázkou přerušení raw_input
funkce (možná by šlo použít něco jako externí interrupt vlákna, ale
taktéž nevím, do jaké míry je tato funkce spolehlivá). Takže odpověď
není jednoznačná, můžete vyzkoušet různé postupy, v případě zájmu o
podrobnosti se ozvěte.
Přeji hezký den,
                regnarG

----
http://regnarg.kx.cz



Další informace o konferenci Python