Re: [python] Začiatočník programuje, alebo čo som zostrojil a nefunguje to
2013/10/13 xteam > dobrý večer! > > Volám sa Martin, kedže sa mi páči jazyk Python chcem sa ho naučiť čo > najlepšie a ideálne čo najrýchlejšie. Momentálne som samouk takže otázok > mam ako maku. Niekedy budem až otravný ale ak sa človek chce niečo naučiť a > ma možnosť sa opýtať ODBORNÍKOV (programátorov) tak prečo nie?! > > > Práve som napísal trochu väčší program,lenže keď som ho chcel ukonciť > normálne tj import system >system.exit() > > > prekladač vyhodil chybu a až po 3 minútach ho ukončil. Tak som ho ukončil > po svojom a to takto: > Ahoj, obvykle je dobré uvést onu chybu, ale v tomto případě /dev/crystall-ball říká, že ona chyba byla ImportError: No module named system. Modul se jmenuje sys. > tj import os > os.abort() > > táto funkcia funguje. Pekne ho ukonči výpis pamäte cesta a úvodný riadok v > terminály. Lenže háčik je vtom že programy nemám takto ukončovať a preto > sa pýtam k čomu sa dá ta spomínaná funkcia prirovnať > > klávesy esc alebo kombinácii alt+f4? a kvôli čomu ich nemám takto > ukončovať? > > http://en.wikipedia.org/wiki/Control-C -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] externí program proměnné
2013/11/20 > Jak z Pythonu zavolat externí program (*.bat), aby po navrácení do > pyscriptu zůstaly zachovány systémové proměnné v něm nastavené? > > wxp, w7, py3.2, py2.7 > Mnemotechnická pomůcka http://mff.alikuvkoutek.cz/quotes/?page=subjects#q147 Zrovna tohle patří mezi ty části, kde se v MS unixem inspirovali, takže to platí i pro MS-DOS a nástupce. > Díky > -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] Multithreading
Zrovna pollování je ošklivá věc. Nejlepší je prostě mít seznam threadu v seznamu a po jejich nastartování zavolat jejich metodu join. Dne 4.4.2014 19:43 "azurIt" napsal(a): > >Jak mám zabránit ukončení hlavního vlákna před tím, než se ukončí všechny > ostatní vlákna? > >Díky > > > > Je viac moznosti, napr. toto na konci skriptu, ktory bezi v hlavnom vlakne: > > import time > import threading > > #... tvoj skript ... > while threading.active_count() > 1: > time.sleep(1) > > > > > azur > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz > ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] OT: Má někdo čas osvěžit si nebo naučit se Git? Potřebuji kontrolní oko.
I'm ouxl x ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] Aktuální učebnice Pythonu
Na dive into python 3 jsem svého času napsal recenzi, http://www.abclinuxu.cz/clanky/recenze-knihy-ponorme-se-do-pythonu-3 Rozhodně můžu doporučit, myslím, že pro začátečníka je velmi vhodná. S druhou knihou zkušenosti bohužel nemám. Mimochodem, neřešil se kdysi dávno překlad této knihy tady na mailinglistu? Dne 15. 4. 2016 5:05 PM napsal uživatel "Libor Jelínek" < [email protected]>: > Zdravím všechno! > Přecházím na Python a chci si udělat přehled o dostupných učebnicích. > Programátor jsem, myslím, celkem zkušený ale v Javě, Groovy a C/C++. > > Do jaké tištěné knihy investovat? Něco chci mít v ruce :-) > > 1) v češtině - vím jen o tištěné Dive into Python 3 od CZ.NICu a tutoriálu > od CPressu. Která z těchto dvou je lepší pro začítečníka? > > 2) anglické - jaká je pythonovská "nejslavnější" učebnice (třeba pro Javu > se mi hrozně líbí styl Bruce Eckela "Thinking in ..."). > > Díky za doporučení ;-) > Libor > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz > ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] Too much freedom?
Ahoj, Souhlasím, že gil je větší problém. Na rychlost je pypy, volitelné typování už fanda standardní knihovna. Já bych za sebe přidal lepší a jednodušší packaging, než setup.py, setup.cfg, manifest, requirements.txt a všechny ty věci. Nevím jak pro ostatní, ale pro mě je setuptools čirá magie. Jakékoli rozšířeni, třeba o py.test, je jenom o hledání magických postupů na internetu. Michal Dne 2. 1. 2017 6:18 PM napsal uživatel "Petr Messner" < [email protected]>: Ahoj, mě to všechno zatím řeší Cython :) Když teda potřebuju rychlost. Zrychlení o 20% (nebo 25% nebo 50%...) - opravdu by to něčemu prakticky pomohlo? Jen málokdo funguje v takových rozměrech, aby 20% zrychlení Pythonu znamenalo, že se ušetří vůbec nějaké množství nákladů na hardware. Mě by se Python třeba výrazně zrychlil odstraněním GILu :) Jako já žádné zrychlovací snahy nechci shazovat, pokud to jde, tak sem s tím :) Jen prostě pokud za odpověď někdo považuje "zrychlit Python", jaká je vlastně otázka? A není na ní lepší odpověď? :) Třeba změnit databázové schéma, kešovat, jinak zpracovávat data, snížit počet I/O operací, použít nějakou hustou knihovnu, co využívá vektorové instrukce CPU/GPU... Nejspíš existují i jiné možnosti, než dojdete k okamžiku "a teď už by tomu opravdu pomohla jen kvantová JIT VM". Ad statická kontrola kódu - můžu začít tím, že si sem a tam budu anotovat, že funkce vrací string, nebo že to nějaký nástroj dokonce odvodí za mě... Ale čím vic jdu do hloubky, tím víc si říkám, že bych to teda raději dělal rovnou v tom C++ :) Ale to je možná tím, že jakmile mám kladivo (C++), tak prostě všechno najednou vypadá jako hřebík. I v tom Google si raději vymysleli Go, než aby každého programátora museli zasvěcovat do tajů C++. Jsem zvědavý na další názory :) Hodně zdraví a málo segfaultů v novém roce! PM Dne 2. ledna 2017 17:12 Vláďa Macek napsal(a): Ahoj všem, hezký nový rok. > > Občas mě napadne... > Python je silně dynamický jazyk, tj. umožňuje velmi svobodné operace s > objekty, metaprogramování atp. Až tolik, že to některým lidem přijde moc a > vyvíjejí aktitivy, jak ho trochu spoutat a něco za to získat. > > Otázka. Obětovali byste některý z dynamických rysů pythonování výměnou > třeba za (hypotetické) zisky, jako aby mainstreamový interpret > > * se všem zrychlil v průměru o 15% či o 20%? > * se dal kompilovat do efektivního nativního kódu? > * umožňoval výrazně lepší podporu automatické statické kontroly kódu? > * ... > > Podotýkám, že to jsou podněty k zamyšlení, nikoli k flamewar. :-) > > Pokud máte načteno a ozkoušeno něco z toho, co se tématu týká, uvítám i, > pokud se o to podělíte. Nikdy nezaškodí si rozšířit obzory. > > Vláďa > > > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz > ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] Vyhodnocení jednoduchých výrazů
Záleží asi na požadavcích, ale nestačilo by prostě použít eval?
Případně safeeval
http://lybniz2.sourceforge.net/safeeval.html
Dne st 22. 8. 2018 9:31 uživatel Petr Blahos napsal:
> Přátelé,
>
> doporučíte mi někdo knihovnu pro vyhodnocení jednoduchých matemetických
> výrazů se symboly? Představuju si to asi takto: Budu mít text typu:
> expr = """R=1000*(VAR1+VAR2/2)-VAR3"""
>
> a pak udělám:
> result = knihovna.funkce(expr, {"VAR1": 54, "VAR2": 8", "VAR3": 982})
>
> Případně ještě knihovna.zkontroluj_vyraz(expr).
> Potřebuju tam opravdu jenom + - * / a závorky.
>
> Díky,
> Petr
> --
> http://www.blahos.com/
> http://traceability.cz/
> ___
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Visit: http://www.py.cz
Re: [python] Ulozeni souboru jako jiny uzivatel
> 4. po prihlaseni v aplikaci administrator aplikace muze menit soubory > (jinymyi slovy potrebuji jej prihlasit k souborovemu systemu jako myadmin) > login a heslo samozrejme znam, jde o to, kam ho bezpecne ulozit a jak > mam tu zmenu prav provest a pokracovat v scriptu. Muzes pouzit sudo. 1.) jako root napises visudo (je mozna i prima editace sudoerrs, ale tento nastroj mj. kontroluje syntaxi) 2.) napises nobody ALL = (myadmin) NOPASSWD: /cesta/ke/skriptu # ALL je povoleni teto akce ze vsech pocitacu, muzes je omezit pouze na hostname jednoho ci vice konkretnich 3.) ulozis soubor a pokud jako uzivatel nobody zadas sudo /cesta/k/myadmin_skriptu sudo jej spusti pod uzivatelem myadmin. Tag NOPASSWD zajisti, ze nemusis zadavat heslo, takze jej takto muzes jednoduse spustit primo ze skriptu Snad jsem tu gramatiku souboru moc nepopletl ... vice viz man sudoers -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Python a Ncurses
> > Máte někdo zkušenosti s Ncurses a Pythonem, můžete mě případně odkázat > na funkční variantu, poradit jak na to nebo doporučit jinou knihovnu? Obecne mas dve moznosti (netyka se jen ncurses, u nichz stav podpory neznam). Budto si napsat wrapper sam (at uz za pomoci swigu, nebo rucne), resp vylepsit stavajici. Nebo muzes pouzit modul ctypes http://docs.python.org/lib/module-ctypes.html Ten umoznuje volat funkce z C knihovny primo z Pythonu. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] reportlab a cherrypy
Dne Saturday 14 of July 2007 20:27:32 Vladislav Ludík napsal(a): > Pomocí cherrypy a reportlab generuju file.pdf soubor. Soubor uložím na > disk: > > canvas.save() > > Volám jej pak odkazem: > > > > Prohlížeč soubor otevře. > > Chci však, aby místo uložení souboru do souboru byl tento v reportlabu > vygenerován pro každý odkaz znovu. Co neodkazovat uzivatele na konkretni soubor, ale na dynamickou stranku, ktera jej vygeneruje a vrati (treba www.mujweb.cz/pdf-ke-stazeni) -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] reportlab a cherrypy
Dne Sunday 15 of July 2007 18:09:58 Vladislav Ludík napsal(a): > Jak ale vygeneruju pdf jinak než příkazem > > canvas.save() ? > > Odkaz nebude fungovat. > > Díky > Obavam se, ze tento framework neznam, takze moje reseni je pouze obecne 1.) vygenerovat pdf soubor prikazem canvas.save() 2.) udelat redirect na onen vygenerovany soubor (predpokladam, ze je jeho jmeno zname) - neco jako response.sendRedirect(adresa_k_souboru_s_pdf) (ano, pouzivam Javu :-) ) Jinak je mozne misto save pouzit jinou metodu (existuje-li) a nastavit content-type na pdf a obsah PDFka proste poslat v odpovedi. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] detektor znakove sady
Dne Wednesday 01 of August 2007 17:20:12 Martin Blazik napsal(a): > Muj program pracuje nastesti s UTF-8. Bohuzel mam ale stare informace, > ktere potrebuji prevest. Mam tam jazyky jako madarstinu, polstinu, > rustinu a dalsi. Ja takovou knihovnu napriklad pro cestinu napsanou mam > a musim rict ze funguje s dost slusnou presnosti. Takze nejde o to > poznat to kodovani na 100%, ale s rozumnou presnosti. Chyby jsou > povoleny, ale nesmi jich byt moc. Naopak si myslim, ze situace resitelna > pomerne rozumne je, ale radsi bych pouzil stavajici knihovnu nez si psal > vlastni reseni. http://trific.ath.cx/software/enca/ -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] ovladani textove konzole
Dne Monday 01 of October 2007 14:08:33 Ondrej Beranek napsal(a): > Dobré odpoledne, > potřeboval bych si v konzoli trošku "kreslit" přesněji měnit pozici > kurzoru, menit barvy, upravovat paletu. Našel jsem na toto pouze modul > Console od Fredrika Lundha ale jeho reseni funguje jen ve windows. > Myslim ze by to melo jit i nejak jednoduseji, ale sam jsem reseni > nenasel. > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python Doporucuji k prostudovani vynikajici knihovnu urwid - http://excess.org/urwid/, muze ti usetrit hromadu prace pri implementaci veci jako tlacitka a podobne. Pokud chces multiplatformni textovou aplikaci, tak nejjednodussi bude naprogramovat pomoci ncurses (to pouziva i zminena urwid) a na Windows provozovat pomoci Cygwin. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] patch pickle
Dne Wednesday 21 of November 2007 13:58:39 mtip napsal(a): > Zdravim vsechny, > zjistil jsem, ze modul pickle ve verzi 2.4.1 obsahuje chybu pri > ukladani hodnoty float pri nastavenem locale. Udajne na to ma byt > nejaky patch, ale zadny se mi nepodarilo najit, vsechny odkazy jsou > neplatne. > Nevite nekdo, kde ho sehnat nebo jak to vyresit bez instalace novejsi > verze ? No nejlepe bude prozkoumat http://svn.python.org/, najit tam revizi, ktera opravuje ten problem a backportovat do to verze, kterou pouzivas ty. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Počítání volání metod
Dne Thursday 20 of December 2007 22:40:57 [EMAIL PROTECTED]
napsal(a):
> Zdravím, dneska budu ještě jednou otravovat.
> Michal Vyskočil mi poradil, jak přijít na jméno volané metody, za to
> mu díky, mně to hned posloužilo k realizování mého záměru, počítání
> kolikrát byla metoda zavolána, nevím jestli to neřeším úplně blbě.
No, zrovna modul inspect mi prijde jako kanon na vrabce. Daleko elegantnejsi
bude pouzit dekoratory a napsat neco podobneho, jako
stats = {}
def counter(func):
def wrapper(*args, **kwargs):
ret = func(*args, **kwargs)
if not func.__name__ in stats:
stats[func.__name__] = 0
stats[func.__name__] += 1
return wrapper
@counter
def foo():
return "foo"
for i in xrange (5):
ret = foo()
print "%d: %s" % (stats["foo"], ret)
Pochopitelne to neni uplne hotove, bylo by vhodnejsi pouzivat nejaky
Singleton, misto globalni promenne a mohlo by to umet ukladat
modul.jmeno_funkce, pripadne modul.trida.jmeno_metody a pripadne i parametry
(napr id), ale pro prvni nastrel to snad staci. O serializaci hodnot na
vystup ani nemluve.
Navic, neexistuje nejaka knihovna pro Python, ktera statistiky pristupu resi?
Pripadne nastroje pro analyzu logu webserveru?
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] Jméno metody, ze které je volána funkce
Dne Thursday 20 of December 2007 21:36:35 [EMAIL PROTECTED] napsal(a): > Zdravím, prosím, je možno zjistit jméno metody, ze které byla zavolána > funkce a v této funkci tuto hodnotu vypsat/dále s ní pracovat ? > Google jsem samozřejmě zkusil, ale buď málo nebo špatně, odpověď jsem > nedostal. http://lfw.org/python/inspect.html#-stack > > Díky moc. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] inline if
Dne Friday 07 of March 2008 13:28:00 Dusan Zatkovsky napsal(a): > Dobry den. > > Zapasim s dokumentaciou k pythonu, ale nejak nedokazem najst co hladam. > > V C-cku mozem napisat: > > int a = ( b != 0 ? b : 10 ); > > ( kto neovlada c, de-facto je to > if b != 0: a = b > else : a = 10 > ) > > Je nieco podobne mozne aj v pythone? Zda se, ze zdejsi pythoniste nevi o verzi 2.5 ;-) Od verze 2.5 muzes napsat a = b if b != 0 else 10 syntaxe je jina, nez v C, ale podle Guida by mela byt prirozenejsi lidske reci: do a uloz hodnotu b, pokud je b ruzne od nuly, jinak 10 vice o teto funkci je v PEP 308 http://www.python.org/dev/peps/pep-0308/ Shrnuti verze 2.5 je na http://www.abclinuxu.cz/serialy/novinky-v-python-2.5 (reklama :)) http://docs.python.org/whatsnew/whatsnew25.html -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] inline if
Dne Saturday 08 of March 2008 17:39:37 Michal Molhanec napsal(a): > Michal Vyskocil napsal(a): > > Zda se, ze zdejsi pythoniste nevi o verzi 2.5 ;-) > > > > Od verze 2.5 muzes napsat > > > > a = b if b != 0 else 10 > > ve skutecnosti tuto variantu popsal uz Leos Pol v uplne prvni reakci na > dotaz Aha, to se omlouvam, to jsem prehledl ... -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Ziskani vystupu ze spousteneho programu
Doporucenou cestou je modul subprocess
from subprocess import *
pipe = Popen('ls -lh', shell=True, stdout=PIPE).stdout
type(pipe)
for line in pipe: print line
...
total 56K
drwx-- 7 misak users 4,0K 2008-06-18 08:23 Desktop
drwxr-xr-x 11 misak users 4,0K 2008-05-18 20:45 Documents
...
Dne Sunday 22 of June 2008 16:33:29 302302 napsal(a):
> Zdravím,
> potřeboval bych spouštět pythonovský program z pythonu a hlavně spouštěnému
> programu předat parametry a naopak po jeho skončení číst výsledek. Našel
> jsem funkci os.execvp(), takže dokážu spustit program s danými parametry,
> ale nevím jak získat výsledek zpátky do prvního programu.
>
> tedy potřebuji něco jako
>
>
> program1.py
> ...
> os.execvp('python', [program2.py, param]) #spustit program
> print vysledek #pouzit vysledek ze spusteneho
> programu ...
>
>
> program2.py:
> ...
> algoritmus()
> vysledek=5#ziskam vysledek, ktery chci pouzit v
> program1.py ...
>
>
> nenašel jsem zatím žádné řešení, budu vděčný za každou pomoc.
> Díky Czenek
>
> ___
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] import a "zakazany modul"
24.3.09, Petr Vaněk : > dobrý večer, > > jak řešíte, řešíte-li, situaci, kdy je třeba zakázat import specifického > modulu. > > Příklad: C++/Qt4 program má v sobě zadrátován Python kvůli skriptování. > Program byl kdysi v Qt3, ale teď je přepsán na novou verzi knihoven. > Uživatelé > byli při skriptování zvyklí používat PyQt3, což už teď nejde - způsobuje to > pády programu atd. > > Jak tedy ošetřit import nezdárného modulu (kromě dokumentace programu)? > > V nejhorším případě si nějak pohraju s __import__() funkcí, ale předtím bych > rád znal všechna pro a proti. > > http://docs.python.org/library/functions.html > http://www.python.org/dev/peps/pep-0302/ > http://docs.python.org/library/imputil.html Zkusenosti s tim nemam, ale RestrictedPython [1] by mohlo byt to prave. Podle dokumentace to zvlada i import hacky. [1] http://pypi.python.org/pypi/RestrictedPython/3.5.1 -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Filozofická otázka ohledně syntaxe
21.4.09, Jan Bednařík : > Přeji pěkný den, > > narazil jsem na takový filozofický problémek ohledně syntaxe zdrojového kódu. > > > Mám třeba takový kód (foo může být None): > > if foo: > x = foo.fce() > else: > x = bar.fce() > > > Šlo by to napsat elegantněji takto: > > x = foo or bar > x = x.fce() > > > Dnes mě ale napadlo napsat tohle: > > x = (foo or bar).fce() Od Pythonu 2.5 mas k dispozici ternarni operator: x = foo.fce() if foo else bar.fce() -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] nevznik objektu
18.3.10, David Rohleder :
> Petr Messner píše v Čt 18. 03. 2010 v 17:48 +0100:
>
> > Ahoj
> >
> > Že by konstruktor udělal něco tak, aby žádný objekt nevznikl, nejde
> > (to není bug). Možností je několik:
> >
> > - vyhazovat výjimku (jak již bylo zmíněno)
>
>
> musím přiznat, že řešení pomocí výjimek mně přijde jako s kanonem na
> vrabce, ikdyž to má svoji logiku. Pokud vnímám výjimku jako nějakou
> zásadně chybovou situaci, tak to do této věci nesedí, protože s chybným
> vstupem se má počítat a kód by ho měl ošetřovat.
>
> Možná jsem prostě jenom příliš staromódní, začínal jsem programovat v
> jazycích, kde výjimky nebyly a python je jazyk, kde se výjimky dají
> používat téměř jako lék na cokoliv.
>
>
> > - nevolat konstruktor (tedy nevytvářet objekt), ale volat funkci,
> > která sama vytvoří objekt, nebo vrátí None - podle mě nejlepší řešení
>
>
> To zní zajímavě, ale moc mně to nezapadá do takového toho "objektového"
> pohledu na svět. Nutno přiznat, že je to asi celkem jedno, z venku
> modulu to vypadá stejně jako přímo ten konstruktor objektu.
No tak to nemusí být funkce, ale metoda třídy
class IP(object):
...
@classmethod
def parse(cls, ip):
...
if chyba: return None
objekt = IP.parse("123.456.789.0")
Je to sice trošku Javovský přístup, ale aspoň to nezačíná na class IPFactory :-)
>
>
> > - vytvořit objekt, který při porovnání s False vrátí True (lze
> > implementovat přetížením/vytvořením metody __nonzero__)
>
>
> Tak o __nonzero__ jsem nevěděl. zajímavé.
>
>
> >
> > BTW. počítáš i s IPv6, že jo? :)
>
>
> Ne :-) není správně podporován na druhé straně.
>
>
> D.
>
>
>
> >
> > Petr Messner
> >
> >
> > 2010/3/18 David Rohleder :
> > > Ahoj,
> > >
> > > je možné, aby nevznikl objekt, který zrovna vytvářím? Příklad - mám
> > > třídu typu IP adresa, v konstruktoru předávám řetězec IPadresy. Chtěl
> > > bych, aby v případě, že IP adresa není validní, objekt vůbec nevznikl.
> > > Tj. aby konstruktor vrátil None:
> > >
> > >>>> ipaddr = IP("192.1023.neco.1")
> > >>>> ipaddr
> > > None
> > >
> > > chtěl jsem pak třeba udělat:
> > >
> > > if not ipaddr:
> > >print "zadavas blby vstup"
> > >
> > >
> > >
> > > chtěl jsem to vyřešit asi takto:
> > >
> > > class IP(object):
> > >def __init__(self, IPadresa):
> > >.
> > >if chyba: return None
> > >
> > >
> > >
> > > Jenomže konstruktor vrací vždycky None, tj. touto cestou to nejde.
> > >
> > > Zatím jediné, co mne napadlo, je vyřešit to pomocí výjimky, tj.např
> > >
> > > try:
> > >ipaddr = IP("192.168.34536.45")
> > > except ValueError:
> > >ipaddr = None
> > >
> > > Ale myslím, že kdyby objekt vůbec nevznikl, tak by to bylo lepší. Jde
> > > to, nebo to nejde?
> > >
> > > D.
> > >
> > >
> > > --
> > > David Rohleder
> > >
> > > ___
> > > Python mailing list
> > > [email protected]
> > > http://www.py.cz/mailman/listinfo/python
> > >
> > ___
> > Python mailing list
> > [email protected]
> > http://www.py.cz/mailman/listinfo/python
>
> ___
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
>
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] OT: Preklad pojmu "runtime context"?
2010/4/24 Přikryl Petr : > Ahoj všichni, > > Tak jsem tady zase ;) > > "runtime context" -- tento pojem se používá > v souvislosti s pythonovským "with". > > Kontext -- tady je překlad celkem bezproblémový. > Co runtime? > > "běhový kontext" -- pojem běhový se používá, > ale nevím, jak moc. Jak se na to díváte? No podle google se moc nepoužívá, tento dotaz jsem našel jako první. Pak nějakou diplomku, kde to bylo použito ve skutečně povedené větě "reprezentuje běhový kontext jednotlivých bundlů. Je vytvořen a předán frameworkem do bundlu při jeho spuštění" a pak už jenom seriál o Squeaku na rootu http://www.root.cz/clanky/squeak-struktura/ > Nemám na mysli pohled zarytých technických > puristů, pro které je jakákoliv odchylka > od originálních anglických textů nepřijatelná. Popravdě se mi slovo běhový kontext (ani kontext běhu) příliš nelíbí, ale nedokázal jsem vymyslet žádný vhodnější termín. To souvisí s tím, že se mi nezdá ani původní pojmenování - runtime context. Spíše bych to pojmenoval local context, které tomu odpovídá daleko více. Takže pokud bych se nechtěl striktně držet původního termínu, volil bych překlad lokální kontext. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] OT: překlad pojmů "first-class o bject" a "stream object"
Dne pondělí 26 Duben 2010 13:14:39 Přikryl Petr napsal(a): > Zdravím všechny po slunečném víkendu, > > Aniž bych vás chtěl ovlivňovat, hledám překlad pojmů > > "first-class object" Tady mě napadl pouze doslovný překlad - prvotřídní objekt. Podle wikipedie se tento termín odvodil od "first-class citizen", čili privilegovaný, či nadřazený, ale to mi nepřišlo vhodné. Ani termíny vzniklé od slova reification - zhmotnění taky nejsou nic moc. Možná ještě plnohodnotný objekt? Ale to nedává žádný smysl. > > a > > "stream object" Zde moje fantazie selhala, mimo termínu - proudový objekt - jsem nic kloudného nevymyslel. Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] OT: překlad pojmů "first-class ob ject" a "stream object"
2010/4/27 Přikryl Petr : > Hynek Fabian >>Přikryl Petr (úterý 27 Duben 2010 09:41:46): >>> ... "first-class objekt" ... >>Mě v takových případech pomáhá párkrát výraz prohnat slovníkem tam a zpátky, >>v tomto případě jsem skončil zhruba u "bezvadný" nebo "úplný" objekt. >>Není to možná přesné, ale vyjadřuje to princip - že ostatní objekty jsou >>nedokonalé. > > Problém je v tom, že to nemá vyjadřovat > dokonalost či nedokonalost ostatních > objektů. Jde o to, že je něco objektem, > i když v jiných podmínkách (v jiných jazycích) > to vlastnosti objektu mít nemusí. > > V tomto smyslu "prvotřídní" nebo "úplný" je divné. > Opravdu nejvíc mi sedí "plnohodnotný", ale je > otázka, jestli je to vhodný název pro pojem > (plnohodnotný objekt). Taky se k tomu můžu postavit > tak, že by to nebylo vnucováno jako kodifikovaný pojem, > ale prostě jako srozumitelné vyjádření -- opis významu. Se slovem plnohodnotný je problém, že se to vztahuje spíše k jazyku, než tomu objektu. Takže při opisném použití bych asi napsal něco jako """ Objekty a funkce v Pythonu jsou plnohodnotné složky/elementy/... jazyka. Mohou být použity jako argument, či návratová hodnota funkce. V angličtině se označují termínem first-class object. """ > >>> >> "runtime context" >>> Problém je v tom, že pojem runtime context je použit >>> ve standardní dokumentaci. A mluví se tam i o správci >>> kontextu (context manager) a o context management >>> protokolu a je tam knihovna contextlib... >>> >>> Takže problém je s tím "runtime". >>"provozní kontext"? "operační kontext"? > > "operační kontext" se mi velmi líbí. Myslím, že > vystihuje velmi přesně, co se tím myslí. Hezké a dokonce to zní velice odborně ... -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] OT: překlad pojmů "first-class ob ject" a "stream object"
2010/4/27 Petr Přikryl : > > Michal Vyskocil > : >Přikryl Petr > : >... > : > otázka, jestli je to vhodný název pro pojem > : > (plnohodnotný objekt). Taky se k tomu můžu postavit > : > tak, že by to nebylo vnucováno jako kodifikovaný pojem, > : > ale prostě jako srozumitelné vyjádření -- opis významu. > : > : Se slovem plnohodnotný je problém, že se to vztahuje spíše k jazyku, > : než tomu objektu. Takže při opisném použití bych asi napsal něco jako > : > : """ > : Objekty a funkce v Pythonu jsou plnohodnotné složky/elementy/... > : jazyka. Mohou být použity jako argument, či návratová hodnota funkce. > : V angličtině se označují termínem first-class object. > : """ > > No, tady nevím, jestli si rozumíme. Objekty jsou objekty (plnohodnotné). > Nemůžou být ničím jiným. Jsou to objekty z definice. Zcela urcitě si nerozumíme. Já hovořil o definici, která je například na wikipedii http://en.wikipedia.org/wiki/First-class_object Pokud je něco v daném jazyce first-class objekt, pak jde o element jazyka splňující jisté vlastnosti. Důležité je, že v tomto kontextu se termín objekt nepoužívá ve smyslu objektu v objektovém programování, ale prostě element jazyka. Pravdou je, že ani můj opis nebyl nijak dobrý, protože právě toto motá dohromady. V případě Pythonu je potom first-class objekt prakticky všechno, dokonce i operátory, protože to jsou ve skutečnosti speciální metody objektu. I když elementy jazyků s eval definici first-class objektů splňují tak nějak aoutomaticky :-). Na druhou stranu takové C má návěští, které nejsou first-class objekty - nelze proměnné, tudíž předat funkce jako parametr, nebo vrátit jako návratovou hodnotu. Stejné je to třeba s typy - v C není možné deklarovat proměnnou takového typu, která je uložená v jiné proměnné. Jen tak pro zajímavost, existují GNU rozšíření Label as a Value [1] a Referring to a Type with typeof [2], které umožňují pracovat s návěštími a typy jako s first-class objekty (snad až na to vytváření za běhu). [1] http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/Labels-as-Values.html#Labels-as-Values [2] http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/Typeof.html#Typeof -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] segfault error
2010/5/18 mtip : > Zdravim vsechny, > > mam script v pythonu pro server xmail na linuxu. > Tento script v rezimu ladeni, kdy je xmail spusten z konzole normalne funguje > jak ma. > Ale pokud xmail spustim jako daemon, script se neprovede a jedine > co se da z logu vycist je radek ve /var/log/messages a to: > web kernel: python[9442]: segfault at bf9c52d0 ip b770e985 sp bf9c52d0 error > 6 in libpython2.6.so.1.0[b763c000+139000] > > Nevite nekdo, cim by to mohlo byt ? Bez stack trace to asi nikdo nezjistí. Zkus zvýšit hodnotu ulimit -c a spustit ten program jako démon. Bohužel si nejsem jistý, kam se v tomto případě uloží core dump, zda bude v aktuálním adresáři, nebo jinde. Pokud by byl problém jej najít, můžeš nastavit výchozí umístění - popis je na fedorawiki https://fedoraproject.org/wiki/StackTraces#Daemons_and_their_spawn Pár detailů co s tím najdeš na http://linux.bytesex.org/gdb.html ale nejlepší bude asi zadat bug do bugzilly tvojí distribuce a přidat jim tento coredump. Michal Vyskočil > > Predem diky za odpovedi. > > Mirek N. > > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] srandicky
Dne sobota 25 listopad 2006 22:04 Jakub Hegenbart napsal(a):
> Jan Janech wrote:
> > C++ :
> > podmienka ? "je true" : "je false"
> >
> > Python:
> > {True: "je true", False: "je false"}[podmienka]
>
> Tahle nahrada bohuzel nesplnuje podminku nestriktniho vyhodnocovani.
A navic je od verze 2.5 zbytecna :-) - viz
http://www.python.org/dev/peps/pep-0308/, nebo
http://docs.python.org/whatsnew/pep-308.html
bude se psat "je true" if podmienka else "je false" (nevim jak vam, ale me to
pripomina Perl :-D)
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] zaporny systemovy cas
Tak jsem to zkusil OS Linux (CentOS 4.4), python 2.3.4, dva procesory Athlon 64 Dual Core a chyba se neobjevila ... po jak dlouhe dobe se objevuje (stopnul jsem to za cca 10 sekund)? -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] zaporny systemovy cas
Dne úterý 28 listopad 2006 17:15 Jan Kundrát napsal(a): > superman wrote: > > Proč se třeba nepoužije generátor parserů a gramatiky a > > namísto si GvR lepí svůj, samozřejmě horší, nechápu. > > V cem je "GvR slepeny generator parseru a gramatiky" horsi nez > neuvedena_vec, zrejme nejaky yacc/flex/bison/...? No je pravda, ze LL generatoru parseru pro C moc neni. Jo, kdyby to bylo pro C++, byl by vyber lepsi. Ad GvR, nemyslim, ze by byly programatorske schopnosti GvR nejvetsi prekazkou pro (ne)optimalizaci v Pythonu. Jak je mozne zjistit z http://docs.python.org/whatsnew/whatsnew25.html, tak je uveden jako (spolu)implementator jen u http://docs.python.org/whatsnew/pep-343.html - PEP 343. Nevite nekdo, zda se v Pythonu nechystaji pouzit VM Strongtalku? Vim, ze vyvojari Ruby se uz nemohli dockat, az to Sun uvolni ... navic by to mohlo poslat Parrot do vecnych lovist. Nic lepsiho, nez kompatibilita Pythonu a Ruby (a dalsich jazyku) na urovni bytecode by nas nemohla potkat. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Import dat z Pascalu.
Dne středa 29 listopad 2006 10:42 [EMAIL PROTECTED] napsal(a):
> Nevíte někdo o modulu, který by umožňoval číst data z Pascalu
> (obdobu struct pro C).
> Pascalský typ REAL je uložen na 6 bytů (struct se nedá popužít)
> Děkuji Nekolný.
Nevim, zda je to presne to, co potrebujes, ale
http://mail.python.org/pipermail/python-list/2001-December/117947.html
(Algorithms for 6-byte ("real48") Borland Pascal Floating Point numbers) by
mohlo pomoci
>
> ___
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] Velikost adresáře
Dne pátek 01 prosinec 2006 15:22 Hynek Beran napsal(a): > Ahoj, > hledám už nějakou dobu fci na zjištění velikosti adresáře. Je něco takového > ? Pokud ano, pak v jaké modulu ? > Podival bych se, jak to resi pythonovska reimplementace prikazu du http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/86554 Pokud to nepomuze, tak projdi jeste toto vlakno v pythonovske konferenci ... http://mail.python.org/pipermail/python-list/2000-June/037295.html Jinak utfg (gg: directory size python) ;-) > Díky > Hynek > > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
[python] Clanek o verzi 2.5 (reklama :))
[reklama] Na abclinuxu vysel prvni dil z meho trojdilneho clanku o novinkach Pythonu 2.5. Pokud je jeste neznate a zajimaji vas, muzete si to precist url: http://www.abclinuxu.cz/clanky/programovani/novinky-v-python-2.5 [/reklama] -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] trochu statistiky o ml [email protected]
Dne pátek 05 leden 2007 17:46 azurIt napsal(a): > jasne, ved Mutt je najlepsi textovy mailovy klient :) Hmf, ja byl naucen na pine ale ted pouzivam kmail. Vlastne jo, pouzivam jeste mail (ve skriptech) a `dcop kmail MailTransportServiceIface send', ale to se asi do textovych klientu nepocita, co? BTW: k tem statistikam. Proc je v nich Thunderbird rozsekany do jednotlivych verzi a jeste k tomu jenom z Windows? Neslo by to nejak sloucit dohromady? -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Dokumentace programu, Vim
Dne neděle 07 leden 2007 19:58 [EMAIL PROTECTED] napsal(a): > Zdravím, používáte nějaké udělátko pro generování dokumentace > do html z komentářů k programu na kterém děláte ? Hledal jsem > nějaké rozšíření pro Vim, které by umožnilo prohlížení > dokumentace přímo v něm, ale nenašel jsem, existuje něco ? No, pokud ti bude stacit klasicky pydoc, potom zkus http://www.vim.org/scripts/script.php?script_id=910 > ___ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] vnitřní implementace python listu
Dne pondělí 08 leden 2007 18:55 Jan Matejka napsal(a): > Naštěstí python poskytuje prostředky pro vytvoření vlastních kontejnerů, > takže v připadě potřeby si člověk může udělat svůj specifický i když > přiloženou baterii tohoto druhu bych docela čekal. Mozna se to casem vyvine z http://www.python.org/doc/current/lib/module-collections.html -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] timestamp
Dne středa 10 leden 2007 11:30 Hynek Beran napsal(a): > Ahoj všem, prosím poraďte asi to stále přehlížím v tutorialu(moduly), > potřebuji modul.funkci, která vrátí aktuální unix timestamp dnešního > dne/hodiny. Myslim, ze se to (vy)resilo v mailinglistu Pythonu http://mail.python.org/pipermail/python-list/2005-December/355640.html -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Okno v okně
Dne sobota 13 leden 2007 10:22 Jakub Vojacek napsal(a): > Ahoj > > > Chtěl bych se zeptat, jak udělat v Tkinteru abych měl jedno hlavní okno a > potom další okna, který by nebyly možný vytáhnout je z toho hlavního. asi > to popisuju trochu krkolomně, je to něco jako v pythonwin. prostě že dílčí > okna nemohou opustit prostor hlavního okna. > Není to sice pro Python, ale http://wiki.tcl.tk/mdi popisuje MDI (snad jsem správně pochopil dotaz) v tcl/tk. > > Děkuju -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Presmerovanie stdout do okna v Tkinteri
Dne úterý 30 leden 2007 17:17 [EMAIL PROTECTED] napsal(a): > Nazdar, > Mam command-line programm, ktory pise rozne chybove hlasky cez print na > stdout. > Rad by som ho prerobil do GUI v Tkinteri, ale bez toho aby som musel > namiesto printov vkladat tie retazce do widgetu ScrolledText, > t.j. aby som nemusel kazdy prikaz > print errormsg > prepisovat na > self.textokno.insert(END, msg) > kde > self.textokno = ScrolledText(..) > > Je nejaky sposob, ako presmerovat stdout do textoveho okna? > (napriklad podobne ako sa da stdout presmerovat do suboru?) > Kto by mi vedel poradit? Neco takoveho by slo (a to jenom mozna) v plan9, ale v beznych OS ne (rozhodne ne nijak jednoduse). stdout je z pohledu systemu bran jako soubor (majici vlastni deskriptor a v unixech dokonce vlastni souborovou reprezentaci v /dev/). Bohuzel neni print v Pythonu normalni funkce, ale syntakticka konstrukce, takze nic jako def print() napsat nejde. Takze moznosti jsou asi tyto 1.) najit a nahradit v textovem editoru 2.) nadefinovat si vlastni funkci def tkprint() 3.) zabalit to do tridy, aby to fungovalo obecneji (pochopitelne mohou byt promenne a metody staticke, pokud nam staci jeden widget se stdout) class TkPrint: def __init__(self, win): self.win = win def tkprint(self, msg): # pozor, metoda se nesmi jmenovat print self.win.insert(END, msg) IMHO je print jednou z bolistek Pythonu ... -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Počítání v jiných soustavác h
Dne pátek 02 únor 2007 18:11 Jakub Vojacek napsal(a):
> Ahoj
>
> Jak byste řešili program, který by počítal například příklad 101*10 ve
> dvojkové soustavě? Výsledek by v tomto případě byl 10. Procházeli byste
> výrazema jednotlivá čísla převáděly do desítkové soustavy, použili funkci
> eval a nakonci zase převedli do binární? Nejde u funkce eval nastavit v
> jaké soustavě má počítat?
>
> Dík
Pokud vim, tak eval zadne takove nastaveni nema. Stejne jako C rozpoznava
hexadecimalni cisla (zacinaji na 0x)
oktalova (zacinaji na 0)
desitkova (ostatni)
Jinak je tento problem vcelku jednoduse resitelny standardnimi prostredky
Pythonu
int("100", 2) zajisti prevod cisla z binarniho tvaru na desitkovy. Ovsem
je nutne si napsat zpetny prevod.
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] podivný webbrowser
2.3.07, Petr Vanek <[EMAIL PROTECTED]>:
> zdar.
>
> Narazil jsem na zajímavé chování Pythonu 2.5. Momentálně
> nemám přístup k 2.4, abych to ověřil, ale jsem si téměř
> jistý, že to fungovalo jinak. Prostě šlo zavolat
> webbrowser.open(foo) a browser se otevřel.
>
[EMAIL PROTECTED] ~]$ python
Python 2.4.3 (#2, Sep 18 2006, 21:07:35)
[GCC 4.1.1 20060724 (prerelease) (4.1.1-3mdk)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import webbrowser as w
>>> w.open('index.html')
>>> # vraci None, ale otevre firefox
>>> w.get().open('index.html')
>>> # stejne chovani jako predtim
>>> w.get('konqueror')
Traceback (most recent call last):
File "", line 1, in ?
File "/usr/lib/python2.4/webbrowser.py", line 35, in get
return command[0]()
TypeError: 'NoneType' object is not callable
>>> # coz je divne, podle dokumentace by to melo fungovat
>>> # stejne se chova i s parametrem firefox
BTW: chtelo by to otestovat na systemu, ktery ma obe verze Pythonu,
ale muj hlavni system, kde je mam nainstakivane, je momentalne rozbity
(cti rozbil jsem ho).
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] editor pro Linux
23.3.07, Ondrej Beranek <[EMAIL PROTECTED]>: A nebo mit editor kterej to na tom serveru umi spustit a debugovat... Treba vim? Skript pro integraci debuggeru do vimu http://vim.sourceforge.net/scripts/script.php?script_id=663 Nebo jsem nasel nejaky zpusob debugovani primo pro Python, ale nevim, jak to funguje ... http://www.petersblog.org/node/752 -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
[python] Jakého typu je iterátor?
Zdravim,
jakeho typu je vlastně iterator? V modulu types je ani ve verzi 2.4, ani ve
2.5 nevidím. Ani mechanicke porovnani typu mi nevrati nic. Pritom generatory,
ktere jsou iteratorum podobne, v modulu types jsou ...
import types
for t in dir(types):
if type(iter([1, 2])) == eval ('types.' + i): print i
Myslite, ze je to chyba v Pythonu, nebo jsou uz iteratory deprecated a nikoho
nezajimaji?
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] Jakého typu je iterátor?
Dne úterý 10 duben 2007 08:38 Petr Prikryl napsal(a): Dekuji za rozsahlou odpoved, vzal jsem to za spatny konec -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] slovník nedrží pořadí prvků
On Sunday 29 of April 2007 11:20:54 Vladislav Ludík wrote: > Po vytvoření slovníku a jeho použití slovník při výpisu přehází prvky. > Pro další práci potřebuji prvky ve stejném pořadí, jako jsou při > zakládání slovníku. Lze to jednoduše ošetřit? Poradi prvku ve slovniku je dano jeho vnitrni implemenaci, ktera muze byt dokonce pro ruzne implementace Pythonu ruzna :-). Pokud potrebujete prochazet prvky v urcitem poradi, potom si ukladejte klice navic do separatniho listu, ktery poradi zachovava. -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
Re: [python] Volání metody podle proměnné
On Saturday 05 of May 2007 21:09:41 Jakub Vojáček wrote:
>
> No, jedno řešení by bylo použít exec:
> exec("return %s.udelejneco()"%(promennaSnazvemMetody))
>
> ale není to hezké řešení, chtělo by to použít slovníky atd...
To neni hezke, ale ani bezpecne reseni.
1.) exec("return ...") vyvola chybu SyntaxError: 'return' outside function
2.) zadna kontrola parametru z POSTu, takze takto davame uzivatelum moznost
sahat primo do strev aplikace
3.) eval je daleko pomalejsi, nez pristup do slovniku a v pripade vytizenejsi
aplikace to bude dost znat ...
Lepsi je pouzit slovnik
neco jako
handler_list = { "handler1" : funkce1, "handler2" : funkce2 }
a
return handler_list[handler]()
--
best regards
Michal Vyskocil
___
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Re: [python] Zdrojáky ke stránkám psaným v pyt honu
On Sunday 03 of June 2007 23:01:48 [EMAIL PROTECTED] wrote: > Nevíte kde se dají najít ukázky zdrojových kódů stránek psaných v > pythonu? Chtělo by to nějakou script library , kde by byli různé věci > a mohl bych se na tom učit. Nevíte o něčem? http://freshmeat.net/browse/178/- pokud se zaregistrujes, muzes filtrovat vysledky na webove aplikace :) prohledavace zdrojovych kodu OSS projektu - http://krugle.com/, http://www.koders.com/ Ale pravdepodobne bude nejvhodnejsi si nejprve vybrat nejaky framework, ktery budes pro svoji praci pouzivat a potom pouzit web dotycneho projektu, kde bude jiste odkaz na dokumentaci, resp google ;-) -- best regards Michal Vyskocil ___ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
