Re: [python] Překlady programů

2017-12-05 Tema obsahu Petr Přikryl

Ta funkce se speciálním názvem "_" a odpovídající wx.GetTranslation jsou právě 
obalem nad gettext.
 
Ve svých zdrojácích (jak je v té dokumentaci naznačeno) pak místo:
 
aString = u"This is a string which will be translated"

píšeš
aString = _(u"This is a string which will be translated") 
Jde o to, že externí nástroje reagují na výskyt _("xxx") ve zdrojovém textu a 
vykousnou to do toho
zdrojového tvaru pro poedit. Při běhu funkce _() použije původní řetězec jako 
klíč a v databázi
najde odpovídající překlad. Takže to xxx může být i v symbolickém jazyce. Pro 
každý jazyk bez výjimky
pak definuješ překlad. Pokud se ale předělává existující projekt, tak se prostě 
všechny řetězcové
literály obalí tou funkcí (raději ne úplně mechanicky), pustí se na to 
extraktor, použije se poedit,
a je to... (skoro :)
 
V Pythonu (verze 3) jsem nezkoušel, zda lze _(u"") nahradit pythonštějším 
_('')
-- tj. bez u a s apostrofy místo uvozovek. Z hlediska Pythonu je to stejné, ale 
musí se chytat
ten extraktor, který zpracovává zdrojové texty a připravuje podklady pro poedit.
 
Petr
__

Od: "Ctibor.Plasek" 
Komu: "Konference PyCZ" 
Datum: 05.12.2017 13:49
Předmět: Re: [python] Překlady programů


Ještě jednou díky oběma.To Petr - jj.  Našel jsem si ty překlady u pyscripteru 
a přesně tohle mne mátlo... :-)A web nedělám. Bavím se s wxpythonem a tam je 
jenom toto:https://wxpython.org/Phoenix/docs/html/internationalization.html Ale 
vy jste mne alespoň správně nasměrovali.Takže ještě jednou díky.Ctibor
-- Původní e-mail --
Od: Ondrej Tuma 
Komu: python@py.cz
Datum: 5. 12. 2017 13:35:32
Předmět: Re: [python] Překlady programů 
Hoj, 

no tak to opravdu není. Ten princip je jednoduchý, a doporučuji si o 
gettextu něco napsat. Žádný hezký český zdroj mě ale nenapadá. Anglický 
asi nejlépe: 

https://www.gnu.org/software/gettext/manual/gettext.html 

Ve zkratce je postup následující: 

v kódu, kde se má doplnit překlad se použije funkce gettext, případně 
alias podtržítko (_): 

from gettext import gettext 
print(gettext("Hello world")) 

Následně se pomocí nástrojů gettextu vygeneruje pot soubor: 

xgettext -o aplikace.pot --language=python 

Z něj se pak různým způsobem dá vytvořit soubor s překlady, nejlépe pak: 

msginit -l cs (pro český jazyk) 

výsledný soubor cs.po se edituje v jednom z nástrojů, jenž jsem psal a 
nakonec se vygeneruje binární katalog: 

msgfmt -o cs/LC_MESSAGES/aplikace.mo cs.po 

V kódu je pak třeba definovat jak se katalog jmenuje (název 
katalogu bez přípony). 

from gettext import bindtextdomain 
bindtextdomain('aplikace', localedir='/usr/share/locale') 

V případě, že používáš webovou aplikaci a šablony (jinja2) pak je třeba 
vytvořit objekt translation, ten se pak předává při generování výstupu. 

from gettext import translation 
translations = translation('aplikace', 
localedir="/usr/share/locale", 
languages=[cs, sk], 
fallback=True) 

env = Environment(loader=FileSystemLoader(path), 
undefined=MissingUndefined, 
extensions=['jinja2.ext.i18n']) 
env.install_gettext_translations(translations) 
template = env.get_template("sablona.html") 



localedir je cesta k adresari, ve kterem jsou adresare s 
jazyky, v nich LC_MESSAGES a v nich aplikace.mo 

Příklady sem nezkoušel, tak snad sem je napsal správně. Pak to funguje 
tak, že gettext natáhne katalogy, dle nastavených jazyků do paměti a 
podle toho, jestli najde string v příslušném jazykovém katalogu 
přeložený (postupně zkouší všechny jazyky), vrátí přeložený string. 

Asi o tom zase napíšu článek, ať se pořádně znemožním :-) 

Ondra 

V Tue, 05 Dec 2017 11:21:26 +0100 (CET) 
"Ctibor.Plasek"  napsáno: 

Ahoj. 
Díky moc za rady - teda spíš za nasměrování :-) Konečně vím, co mám 
hledat... 

Sice to zatím moc nechápu (zdá se mi, že se odkazuje na určitý přesný 
řádek v kódu, 

což by asi bylo nešťastné při jakémkoliv doplňování - takže to 
nakonec asi nebude pravda) 





Ctibor 
-- Původní e-mail -- 
Od: Ondrej Tuma  
Komu: python@py.cz 
Datum: 23. 11. 2017 8:09:17 
Předmět: Re: [python] Překlady programů 
"Hoj, 

GTK+ používá gettext také. 

V Pythonu používám přímo gettext modul: 
https://docs.python.org/3/library/gettext.html?highlight=gettext#module- 
gettext 
Narozdíl od klasické C knihovny, se s ním pracuje o něco lépe a 
pohodlněji. 

Mezi ty nejznámější programy na správu překladů patří poedit 
https://poedit.net/. 

A rozhodně zajímavým Michalovým počinem je Weblate 
https://weblate.org/. Zatím mám u něj jeden free software a to teprve 
pár dní, takže zkušenosti nemám, 

Ondra 

V Thu, 23 Nov 2017 01:15:47 +0100 
Petr Messner  napsáno: 

> Ahoj, 
> 
> gettext je standard. Zkus se podívat na tyto odkazy - pokud neděláš 
> web, tak si ty webové věci od toho odmysli :) 
> 
> - 

Re: [python] GUI ala PC-FAND

2017-11-14 Tema obsahu Petr Přikryl
Ahoj fšeci,

Co se týká command line vs. GUI (a přenositelnosti), asi bych volil spíš GUI 
kvůli češtině a kódování.

Co se týká desktop vs. web, pak web by se měl používat, jen když chci webovou 
aplikaci. V opačném případě to bude škrábání za uchem přes hlavu.

A z GUI toolkitů tu zatím nikdo nezmiňoval wxPython. ;)

Mějte se fajn,
Petr


__
> Od: Ales Zoulek 
> Komu: Konference PyCZ 
> Datum: 14.11.2017 22:13
> Předmět: Re: [python] GUI ala PC-FAND
>
Ahoj,
Vyhoda weboveho reseni je, ze do web GUI toolkitu bylo investovano nekolika 
nasobne vic vyvoje a energie nez do GTK a Qt a je to na pohodlnosti vyvoje i 
vysledneho vzhledu znat.
Pricemz urcite neztratis vyhody prenositelnosti a jeste se naucis veci, ktery 
se ti spis budou hodit jinde.
Ja bych asi sahnul po flasku/djangu a sqlite. Frontend framework ti jini urcite 
doporuci dobre...
Ales

Dne út 14. 11. 2017 17:00 uživatel Matěj Cepl  napsal:On 
2017-11-14, 15:17 GMT, Matěj Cepl wrote:
 > On 2017-11-13, 20:21 GMT, Ondrej Tuma wrote:
 >> Důvody pro "znovu-vynalézání kola", nechme prosím
 >> stranou, berte to jako příležitost rozšířit znalosti.
 >
 > Závidím Vám, že máte přebytek času, takže ho můžete promarnit na
 > projekt, který nemá zcela jistě žádnou budoucnost. Kdybyste
 > přece jenom náhodou chtěl dělat na něčem co má smysl, tak bych
 > si dovolil doporučit http://ledger-cli.org/ resp.
 > http://webaccountant.sourceforge.net/index.shtml , což je
 > command line účetní program, ke kterému existují různé frontendy
 > (třeba tenhle webový). Udělání Pythonního frontendu by Vám mohlo
 > uspořit spoustu práce na nejtěžším, správně udělaných účetních
 > operacích.
 
 Zdá se, že ledger má dokonce Pythonovské bindings (alespoň ve
 Fedoře je balíček ledger-python).
 
 Matěj
 --
 http://matej.ceplovi.cz/blog/, Jabber: mceplceplovi.cz
 GPG Finger: 3C76 A027 CA45 AD70 98B5  BC1D 7920 5802 880B C9D8
 
 Find the dependencies -- and eliminate them.
   -- according to http://is.gd/oeYpcI the motto of the MS Excel
  team
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
 Visit: http://www.py.cz
 
 --
 
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
 Visit: http://www.py.cz
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] alternativa textwrap.fill(), která by zarovnávala po česku?

2017-05-11 Tema obsahu Petr Přikryl
Modul textwrap je psaný v Pythonu a nemá to ani 300 řádků (i s rozsáhlými 
docstringy).
Přepište si to po svém, případně přidejte nějaký parametr typu "množina slov, 
která nemají zůstat na konci".
A pokud to bude šikovné, pošlete to jako námět na vylepšení oficiálního 
textwrap.

Přeji krásný den,
Petr


__
> Od: Matěj Cepl 
> Komu: python@py.cz
> Datum: 11.05.2017 01:12
> Předmět: Re: [python] alternativa textwrap.fill(), kter
>
>On 2017-05-10, 22:28 GMT, Vláďa Macek wrote:
>> print textwrap.fill(instr, width=65).replace(u'~', 
>> unichr(160))
>
>No, udělal jsem v podstatě to:
>
>diff --git a/reflow.py b/reflow.py
>index 22b08cf..757077c 100644
>--- a/reflow.py
>+++ b/reflow.py
>@@ -133,12 +133,18 @@ class ReflowPluginWindowActivatable(GObject.Object, 
> Gedit.WindowActivatable):
> if isinstance(text, str):
> text = unicode(text, 'utf8')
> 
>+# we don't want to break on the non-breaking space
>+# FIXME not sure whether there isn’t better replacement character
>+text = text.replace(unichr(0xA0), '~')
>+
> text = textwrap.fill(text,
>  width=self.get_gedit_margin(),
>  initial_indent=first_prefix,
>  subsequent_indent=prefix,
>  break_on_hyphens=False,
>  drop_whitespace=True)
>+text = text.replace('~', unichr(0xA0))
>+
> return text
> 
> def _get_line(self, index):
>
>Ale nejsem na to hrdej. Navíc přemýšlím, jestli někdy nebudu 
>chtít mít ~ znak v textu. Ale snad ne.
>
>Hezký den,
>
>Matěj
>
>-- 
>https://matej.ceplovi.cz/blog/, Jabber: mc...@ceplovi.cz
>GPG Finger: 3C76 A027 CA45 AD70 98B5  BC1D 7920 5802 880B C9D8
> 
>Of course I'm respectable. I'm old. Politicians, ugly buildings,
>and whores all get respectable if they last long enough.
>  --John Huston in "Chinatown."
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Pulnocni rozjimani :-)

2017-04-05 Tema obsahu Petr Přikryl
Chlapi, co jste pili? S džusem, nebo jen tak? :)

Ale nevidíte v tom žádnou záhadu, že ne? ;)

Přidám tohle...

>>> m = set()
>>> m
set()
>>> m.add('a')
>>> m
{'a'}
>>> m.add(2)
>>> m
{2, 'a'}
>>> m.add(1)
>>> m
{1, 2, 'a'}
>>> m.add(True)
>>> m
{1, 2, 'a'}
>>> m.add(1.0)
>>> m
{1, 2, 'a'}
>>> m.add(False)
>>> m
{False, 1, 2, 'a'}
>>> m.add(0)
>>> m
{False, 1, 2, 'a'}
>>> m.add(0.0)
>>> m
{False, 1, 2, 'a'}

Mějte se fajn,
   Petr

__
> Od: Pavel Schön 
> Komu: python@py.cz
> Datum: 11.05.2015 12:46
> Předmět: Re: [python] Pulnocni rozjimani :-)
>
>$ python
>Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) 
>[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
 a = 256
 b = 256
 a is b
>True
 a = 257
 b = 257
 a is b
>False
>
>
>On Sunday, May 10, 2015 at 1:05:58 AM UTC+2, Vladimir Macek wrote:
>> Just having fun.
>> 
>> $ python
>> >>> a = {}
>> >>> b = {'a': a}
>> >>> a['b'] = b
>> >>> a
>> {'b': {'a': {...}}}
>> >>> b
>> {'a': {'b': {...}}}
>> >>> import cPickle
>> >>> ap = cPickle.dumps(a)
>> >>> del a, b
>> >>> len(ap)
>> 26
>> >>> a = cPickle.loads(ap)
>> >>> a
>> {'b': {'a': {...}}}
>> >>> a['b']
>> {'a': {'b': {...}}}
>> >>> a['b']['a']
>> {'b': {'a': {...}}}
>> >>> a['b']['a']['b']
>> {'a': {'b': {...}}}
>> >>>
>> 
>> Navaze nekdo? :-)
>> 
>> V.
>> 
>> 
>> --- news://freenews.netfront.net/ - complaints: n...@netfront.net ---
>
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Používání proměnných (formátovací řetězec)

2017-04-03 Tema obsahu Petr Přikryl
Ahoj všeci,

Jen doplním... Od Pythonu 3.2 lze pro pojmenované věci ve složenkách
používat metodu format_map, kde jméno se bere jako klíč a dosadí se hodnota.

V Python 3.6 se objevila možnost, která se mi původně zdála zbytečná,
ale ukázala se jako docela fajn. Pokud var a log jsou proměnné, pak lze
přímo psát

f'{var}/{log}'

... a je to. V kombinaci s format_map a format (podle toho, kde co mám),
je to docela fajn novinka.

Mějte se fajn,
Petr

__
> Od: Petr Messner 
> Komu: Konference PyCZ 
> Datum: 03.04.2017 11:11
> Předmět: Re: [python] Používání proměnných
>
>Dne 3. dubna 2017 10:36 Ondrej Tuma  napsal(a):
>
>> U format se mi líbí zejména používání názvů:
>>
>> '{var}/{log}'.format(**{'log': 'mujlog', 'var': '/var/log'})
>>
>>
>Proč tak složitě? :) '{var}/{log}'.format(log='mujlog', var='/var/log')
>
>Petr
>
>
>--
>
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Na vsetko cyklus for ?

2017-03-31 Tema obsahu Petr Přikryl

Roman Miklos napsal(a):


Povodne je for-cyklus v Pythone cyklus iterujuci cez zoznam, t.j. 
analogia cyklu foreach v Perle.
Preto sa mi predsa len spaja ten for aj pri citani suboru vzdy so 
zoznamom. Nedavno bolo este typicky pytonovske toto


Cyklus for je ale obecnější. Neslouží pouze pro
průchod řádky seznamu. Slouží pro průchod všemi
prvky kontejneru. Nikdy nesloužil pouze pro průchod
seznamem. Vždycky sloužil minimálně pro průchod
sekvencí. Dávno sloužil i pro průchod položkami
slovníku. Vše to spěje k zobecnění -- průchod
jakýmkoliv iterovatelným kontejnerem.


lines=f.readlines()
for line in lines:
...

teda najprv sa nacital cely subor do zoznamu a potom sa prechadzal 
riadok po riadku. Toto moze byt pri niektorych ulohach vhodne, avsak 
vseobecne je to blbost.


Proto byla zavedena metoda xreadlines(), která
realizuje iteraci přes řádky souboru.



Ked neskor teda bolo napriklad zavedene toto

for line in file("data.txt"):
...

t.j. tento cyklus cita riadok po riadku, je to zasa len odchylka oproti 
povodnemu cyklu for (ktory iteroval cez zoznam), takze zaciatocnik v 
Pythone si musi pamatat rozne vynimky typu: "for iteruje cez zoznam, ale 
'for line in file("data.txt")' cita subor po riadkoch" /inac by si mohol 
mysliet, ze file("data.txt") vracia zoznam, co nie je pravda, lebo je to 
ekvivalentne s open("data.txt")/


Není. Otevřený textový soubor se typicky chápe jako
posloupnost řádků, kde každý řádek je řetězec.


Takze ked to zhrnieme mame teraz takuto situaciu:

# cita subor po riadkoch
for line in file('data.txt'):
...
   
# vrati naprv zoznam riadkov a iteruje cez tento zoznam
for line in file('data.txt').readlines():

...

Myslim si, ze citat subor po riadkoch alebo najprv vsetky riadky nacitat 
do zoznamu a potom ho prechadzat je dost velky rozdiel.
A ked sa obe tieto veci robia cez for .. zavadza to zbytocny zmatok, nie?  


V tom druhém, případě se ale neprochází soubor.
Prochází se seznam řetězců!


Podla mna by bolo ovela jasnejsie zaviest na citanie po riadkoch:

while line = f.readline():
...


To jde v Pythonu odjakživa

line = 'init'
while line != '':   # nebo taky while line:
line = f.readline()
zpracuj(line)


pepr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] file.next() (bylo Buducnost Pythonu: lambda, map, filter)

2017-03-31 Tema obsahu Petr Přikryl

radek napsal(a):
> Avšak souhlasím s názorem, že soubory se čtou 
> většinou po řádcích  takže je

> to takto praktické ale mám z toho pocit vyjímky která se mi nelíbí.

Problém je v tom, že zadrátovat do jazyka konstrukci, která ušetří
několik písmenek je sice praktické, ale nedobré. Nechť je prostě všechni
vidět. Pokud se soubory mohou číst i jinak, než po řádcích, což se děje
velmi často, tak bych tyto zjednodušující konstrukce do jazyka vůbec
nedával.



Presne tak, priklady, jak by to vypadalo jinak:

#cteni po radcich s defaultnim line oddelovacem (jak je ted)
for line in file("data.txt").lines():
...

#cteni po radcich, ktere jsou oddelene oddelovacem 
for line in file("data.txt").lines(""):
[...]


Ale definice, že řádek v textovém souboru je ukončen
 jaksi není obecně přijímaná. Když chci, musím
si to napsat sám a nebo použít odpovídající parser.


Jan Matějka

Ono obecnější řešení je udělat parsovací generátory, které by šly použít s
čímkoliv file-like jako vstupním prametrem, a nestrkat parsování to objektu
file. Tedy: [...]

for line in lines(file("data.txt")):
 ...
[...] atd.

Výpočetní náročnost by zústala stejná. Generátory mi přijdou jako skvělý
nástroj, škoda že se GvR brání zobecnění do více úrovní zanoření jenž nabízí
stackless python. 


Ale vdyť mi nic nebrání zpracovávat soubor po znacích.

# Vygenerujeme si testovaci textovy soubor.
f = open('test.txt', 'w')
for i in xrange(3):
f.write('Line %d.\n' % i)
f.close()


# Pruchod po znacich.

f = open('test.txt')
c = 'init'
while c != '':
c = f.read(1)
print c
f.close()

A nic mi nebrání napsat generátor, který vezme a bude vracet znaky
a použít ho:

def chargen(f):
c = 'init'
while c != '':
c = f.read(1)
yield c

for c in chargen(file('test.txt')):
print c

A můžu si napsat jakýkoliv jiný generátor/parser.

pepr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] OT: Coding style

2015-11-27 Tema obsahu Petr Přikryl
Já jsem si říkal, že už jsem to někde viděl. Používáte pořád wxPython pro 
Python 2,
nebo už zkoušíte verzi pro Python 3? (Phoenix).

Co se týká poznámek k ternárnímu operátoru. Byl do Pythonu zaveden později,
ale zjevně ne bezdůvodně, takže k výrokům typu "zplozenec pekla" se 
nepřikláním. ;)

A co se týká velkého počátečního písmene pro metody -- konvence jsou různé
a wxPython je obal wxWidgets (C++). Rozhodně je lepší ponechat stejné
názvy z C++. Kompromisy jsou všude.

Petr

__
> Od: Petr Blahos 
> Komu: Konference PyCZ 
> Datum: 27.11.2015 11:51
> Předmět: Re: [python] Coding style
>
>Děkuju všem za tipy. Já to vpodstatě vidím stejně (kromě negativních názorů
>na ternární
>operátor, inu C je mi pořád nejbližší). evt je event ve frameworku wx,
>evt.Skip() znamená,
>že se bude event dál zpracovávat. Velký písmeno je tam proto, že ten
>framework holt má
>velký písmena :-)
>
>--
>Petr
>
>
>
>2015-11-26 20:10 GMT+01:00 Jan Bednařík :
>
>> Ahoj, 'evt.Skip' je metoda nebo třída? Podle názvu (velkého písmena na
>> začátku) to vypadá na třídu, ale podle toho příkladu to vypadá na metodu.
>>
>> 2015-11-26 8:26 GMT+01:00 Petr Blahos :
>>
>>> Ahoj, co považujete za lepší coding style?
>>>
>>> if evt:
>>> evt.Skip()
>>>
>>> nebo
>>>
>>> evt.Skip() if evt else None
>>>
>>> ?
>>>
>>> Dík,
>>> Petr
>>>
>>> ___
>>> Python mailing list
>>> python@py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit: http://www.py.cz
>>>
>>
>>
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
>
>--
>
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] OT: tykání

2015-11-27 Tema obsahu Petr Přikryl
>(Neměli jsme tady konvenci, že si tykáme?)

Na konvence kašlu :))

Existuje spousta drobností, které rozbíjejí kulturu
příliš rychlými změnami. Berte to jako mou rebelii
vůči anglosaskému vlivu.

Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Coding style

2015-11-26 Tema obsahu Petr Přikryl
Jednoznačně první, protože to druhé je výraz, který by měl být používán
pro svou hodnotu a ne pro svůj vedlejší efekt.

První varianta je srozumitelná i pro lidi, kteří nikdy ternární operátor v 
Pythonu neviděli.

"else None" v druhé variantě je jen matoucí.

Další otázka je, co to je evt a jaký je důvod, že nabývá hodnoty None nebo 
nějaké
jiné, která se v boolovském kontextu vyhodnotí jako false. Možná by okolí
mělo být napsáno nějak jinak. (Tj. jak se evt získává.)

Pokud by byl často potřebný "prázdný" objekt evt, pak by možná stálo za to
vyrobit pro něj speciální třídu, která implementuje prázdnou metodu .Skip()
a počáteční test by se vynechával.

Petr
__
> Od: Petr Blahos 
> Komu: Konference PyCZ 
> Datum: 26.11.2015 08:26
> Předmět: [python] Coding style
>
>Ahoj, co považujete za lepší coding style?
>
>if evt:
>evt.Skip()
>
>nebo
>
>evt.Skip() if evt else None
>
>?
>
>Dík,
>Petr
>
>
>--
>
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Chyba v distribuci Pythonu?

2015-09-18 Tema obsahu Petr Přikryl
Ahoj všeci,

Můžete někdo potvrdit, jestli vám to taky funguje blbě? Spouštěl jsem to 
pod Windows. Pod Linuxem to bude nejspíš bez problémů.

tzname_bug.py
=
#!python3
import time
import sys
with open('tzname_bug.txt', 'w', encoding='utf-8') as f:
f.write(sys.version + '\n')
f.write('Should be: Střední Evropa (běžný čas) | Střední Evropa (letní 
čas)\n')
f.write('but it is: ' + time.tzname[0] + ' | ' + time.tzname[1] + '\n') 
f.write('types: ' + repr(type(time.tzname[0])) + ' | ' + 
repr(type(time.tzname[1])) + '\n')
=

Vygeneruje to tzname_bug.txt. Mail asi nebude schopen
zachytit problém s kódováním. Připomínám, že je to Python 3
a všechny řetězce mají být v UNICODE.
=
3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)]
Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
but it is: Støední Evropa (bìžný èas) | Støední Evropa (letní èas)
types:  | 
=

Stejně blbě pro verzi 3.5
=
3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)]
Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
but it is: Støední Evropa (bìžný èas) | Støední Evropa (letní èas)
types:  | 
=


Přeju pěkný víkend,
Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Chyba v distribuci Pythonu?

2015-09-18 Tema obsahu Petr Přikryl
:) Nelaškuj. Jde o to, že ten český text je v time.tzname blbě převeden do 
UNICODE.

>> =
>> 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit 
>> (Intel)]
>> Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>> but it is: Støední Evropa (bìný èas) | Støední Evropa (letní èas)
>> types:  | 
>> =

Žádný string by neměl v Python 3 vypadat takhle blbě.

P.

__
> Od: Vladimir Macek <ma...@sandbox.cz>
> Komu: Konference PyCZ <python@py.cz>
> Datum: 18.09.2015 16:29
> Předmět: Re: [python] Chyba v distribuci Pythonu?
>
>Ahoj. Pridavam se do databaze. :-)
>
>$ cat tzname_bug.txt
>3.4.0 (default, Jun 19 2015, 14:18:46)
>[GCC 4.8.2]
>Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>but it is: CET | CEST
>types:  | 
>
>$ lsb_release -a
>LSB Version:...
>Distributor ID:Ubuntu
>Description:Ubuntu 14.04.3 LTS
>Release:14.04
>Codename:trusty
>
>$ uname  -a
>Linux ... 3.13.0-62-generic #102-Ubuntu SMP Tue Aug 11 14:28:35 UTC 2015
>i686 i686 i686 GNU/Linux
>
>$ set | grep ^L
>LANG=en_US.UTF-8
>LANGUAGE=en
>...
>
>
>On 18.9.2015 16:19, Petr Přikryl wrote:
>> Ahoj všeci,
>>
>> Můžete někdo potvrdit, jestli vám to taky funguje blbě? Spouštěl jsem to 
>> pod Windows. Pod Linuxem to bude nejspíš bez problémů.
>>
>> tzname_bug.py
>> =
>> #!python3
>> import time
>> import sys
>> with open('tzname_bug.txt', 'w', encoding='utf-8') as f:
>> f.write(sys.version + '\n')
>> f.write('Should be: Střední Evropa (běžný čas) | Střední Evropa (letní 
>> čas)\n')
>> f.write('but it is: ' + time.tzname[0] + ' | ' + time.tzname[1] + '\n') 
>> f.write('types: ' + repr(type(time.tzname[0])) + ' | ' + 
>> repr(type(time.tzname[1])) + '\n')
>> =
>>
>> Vygeneruje to tzname_bug.txt. Mail asi nebude schopen
>> zachytit problém s kódováním. Připomínám, že je to Python 3
>> a všechny řetězce mají být v UNICODE.
>> =
>> 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit 
>> (Intel)]
>> Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>> but it is: Støední Evropa (bìný èas) | Støední Evropa (letní èas)
>> types:  | 
>> =
>>
>> Stejně blbě pro verzi 3.5
>> =
>> 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit 
>> (AMD64)]
>> Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>> but it is: Støední Evropa (bìný èas) | Støední Evropa (letní èas)
>> types:  | 
>> =
>>
>>
>> Přeju pěkný víkend,
>> Petr
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>
>
>-- 
>:  Vladimir Macek  :  http://macek.sandbox.cz  :  +420 608 978 164
>:  UNIX && Dev || Training  :  Python, Django  :  PGP key 97330EBD
>:
>: Velmi souhlasim s http://www.vyzvavedcu.cz/, zvazte take podporu
>
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Chyba v distribuci Pythonu?

2015-09-18 Tema obsahu Petr Přikryl
Je. Jde to poznat taky podle toho, že f.write() ten text so souboru přes UTF-8
kódování zapsal správně. V https://bugs.python.org/ už jsem našel
asi něco podobného čínsky -- https://bugs.python.org/issue16322
Asi to není dořešené už od té doby.

P.

__
> Od: "Honza Král" <honza.k...@gmail.com>
> Komu: Konference PyCZ <python@py.cz>
> Datum: 18.09.2015 19:02
> Předmět: Re: [python] Chyba v distribuci Pythonu?
>
>a je ten .py soubor skutecne v kodovani utf-8?
>Honza Král
>E-Mail: honza.k...@gmail.com
>Phone:  +420 606 678585
>
>
>2015-09-18 18:55 GMT+02:00 Petr Přikryl <prik...@atlas.cz>:
>> :) Nelaškuj. Jde o to, že ten český text je v time.tzname blbě převeden do 
>> UNICODE.
>>
>>>> =
>>>> 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit 
>>>> (Intel)]
>>>> Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>>>> but it is: Støední Evropa (bìný èas) | Støední Evropa (letní èas)
>>>> types:  | 
>>>> =
>>
>> Žádný string by neměl v Python 3 vypadat takhle blbě.
>>
>> P.
>>
>> __
>>> Od: Vladimir Macek <ma...@sandbox.cz>
>>> Komu: Konference PyCZ <python@py.cz>
>>> Datum: 18.09.2015 16:29
>>> Předmět: Re: [python] Chyba v distribuci Pythonu?
>>>
>>>Ahoj. Pridavam se do databaze. :-)
>>>
>>>$ cat tzname_bug.txt
>>>3.4.0 (default, Jun 19 2015, 14:18:46)
>>>[GCC 4.8.2]
>>>Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>>>but it is: CET | CEST
>>>types:  | 
>>>
>>>$ lsb_release -a
>>>LSB Version:...
>>>Distributor ID:Ubuntu
>>>Description:Ubuntu 14.04.3 LTS
>>>Release:14.04
>>>Codename:trusty
>>>
>>>$ uname  -a
>>>Linux ... 3.13.0-62-generic #102-Ubuntu SMP Tue Aug 11 14:28:35 UTC 2015
>>>i686 i686 i686 GNU/Linux
>>>
>>>$ set | grep ^L
>>>LANG=en_US.UTF-8
>>>LANGUAGE=en
>>>...
>>>
>>>
>>>On 18.9.2015 16:19, Petr Přikryl wrote:
>>>> Ahoj všeci,
>>>>
>>>> Můžete někdo potvrdit, jestli vám to taky funguje blbě? Spouštěl jsem to
>>>> pod Windows. Pod Linuxem to bude nejspíš bez problémů.
>>>>
>>>> tzname_bug.py
>>>> =
>>>> #!python3
>>>> import time
>>>> import sys
>>>> with open('tzname_bug.txt', 'w', encoding='utf-8') as f:
>>>> f.write(sys.version + '\n')
>>>> f.write('Should be: Střední Evropa (běžný čas) | Střední Evropa (letní 
>>>> čas)\n')
>>>> f.write('but it is: ' + time.tzname[0] + ' | ' + time.tzname[1] + '\n')
>>>> f.write('types: ' + repr(type(time.tzname[0])) + ' | ' + 
>>>> repr(type(time.tzname[1])) + '\n')
>>>> =
>>>>
>>>> Vygeneruje to tzname_bug.txt. Mail asi nebude schopen
>>>> zachytit problém s kódováním. Připomínám, že je to Python 3
>>>> a všechny řetězce mají být v UNICODE.
>>>> =
>>>> 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit 
>>>> (Intel)]
>>>> Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>>>> but it is: Støední Evropa (bìný èas) | Støední Evropa (letní èas)
>>>> types:  | 
>>>> =
>>>>
>>>> Stejně blbě pro verzi 3.5
>>>> =
>>>> 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit 
>>>> (AMD64)]
>>>> Should be: Střední Evropa (běžný čas) | Střední Evropa (letní čas)
>>>> but it is: Støední Evropa (bìný èas) | Støední Evropa (letní èas)
>>>> types:  | 
>>>> =
>>>>
>>>>
>>>> Přeju pěkný víkend,
>>>> Petr
>>>> ___
>>>> Python mailing list
>>>> python@py.cz
>>>> http://www.py.cz/mailman/listinfo/python
>>>>
>>>> Visit: http://www.py.cz
>>>
>>>
>>>--
>>>:  Vladimir Macek  :  http://macek.sandbox.cz  :  +420 608 978 164
>>>:  UNIX && Dev || Training  :  Python, Django  :  PGP key 97330EBD
>>>:
>>>: Velmi souhlasim s http://www.vyzvavedcu.cz/, zvazte take podporu
>>>
>>>___
>>>Python mailing list
>>>python@py.cz
>>>http://www.py.cz/mailman/listinfo/python
>>>
>>>Visit: http://www.py.cz
>>>
>> ___
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>___
>Python mailing list
>python@py.cz
>http://www.py.cz/mailman/listinfo/python
>
>Visit: http://www.py.cz
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Používá někdo AsciiDoc?

2015-09-17 Tema obsahu Petr Přikryl
Ahoj Petře a Danieli,

Už jsem to rozjel. Mrkněte na

https://github.com/asciidoc/asciidoc/issues/83#issuecomment-140990953,

kde se zatím vede neformální diskuse --  elextr je asi jeden z těch, kdo může
dělat pull.

Vyrobil jsem fork https://github.com/pepr/asciidoc a větev py3dev.
Pracovně se nové programy jmenují asciidoc3.py, asciidocapi3.py...
Pak se s tím něco udělá. Podle mého názoru se to nejdříve musí 
rozjet "nějak", aby to fungovalo jako ta verze pro Python 2. Nejsem 
stoupencem přístupu "musí se to navrhnout celé znovu". Víc příkladů
ukazuje, že tato cesta vede do nikam (viz webový prohlížeč, který
už ani nevím jak se jmenoval... Netscape?).

Mrknu na Danielův příspěvek  https://github.com/Dundee/asciidoc/tree/python3

Navrhuji, abyste se zapojili (když budete chtít) přes ten horní odkaz "issues".
Tam se domluvíme na plánu. Nemá smysl tříštit síly. A chtělo by to dohodnout,
jakou formou a kde bude probíhat "oficiální" diskuse -- žádné velké formality,
ale aby všichni věděli, kde to mají sledovat.

Nejspíš bude více vláken diskuse (namátkou: jak to propojit s původním asciidoc,
jak to předělávat, budoucí struktura, vztah k definici syntaxe, spolupráce s 
týmem
AsciiDoctor [Ruby], Linux vs. Windows a další).

Jsem v AsciiDoc nováček a dělám většinou pod Windows (kvůli tomu, co dělám
v práci). Zkrátka, chce to dát hlavy dohromady. (Kdo má děcka školou povinná,
tak ví, že to v dnešní době není vždy dobrý nápad -- vši, zvláště po 
prázdninových
táborech. Ale ode mě vám nebezpečí nehrozí, bo vši nemají brusle ;)

Mějte se fajn,
   Petr
__
> Od: Petr Viktorin <encu...@gmail.com>
> Komu: Konference PyCZ <python@py.cz>, "Petr Přikryl" <prik...@atlas.cz>
> Datum: 17.09.2015 12:30
> Předmět: Re: [python] Používá někdo AsciiDoc?
>
>2015-09-15 23:50 GMT+02:00 Petr Přikryl <prik...@atlas.cz>:
>> Jo. No právě. Vývoj není aktivní, ale vypadá to, že se dosavadní verze
>> aktivně používá.
>[...]
>>
>> Ta implementace asciidoc.py má kolem 6200 řádků, v podstatě v jednom
>> souboru. Ale samotnému se mi do toho nechce.
>
>To vypadá jako dobrý nápad na sprint pycon.cz :)
>
>> Chce se do toho někomu?
>
>Docela bych na to chtěl mít čas :(
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Fork AsciiDoc pro port do Python 3 najdete...

2015-09-17 Tema obsahu Petr Přikryl
Petře, dík za informaci.

>Jak to většinou dělám já: napřed použít modernize (pip install
>modernize), který se snaží kót změnit aby byl kompatibilní s py2.6+ i
>py3 (pomocí knihovny six). Věwtšinou se to nepovede úplně, tak je pak
>potřeba projet testy a dodělat detaily (hlavně rozhodnout co je bytes
>a co unicode). Čili ne napřed py3 branch a pak to spojit, ale spíš
>přidat py3 kompatibilitu navíc do existujícího kódu.
>Když máš projekt v Gitu, chceš použít `modernize -wn .`, aby soubory
>přepsal a nedělal zálohy.

Ještě se k tomu vrátím.

elextr z originálního týmu doporučil přesunout vývoj i komunikaci 
do forku. Zvolil jsem název větve py3dev. Takže zatím berte jako oficiální místo

https://github.com/pepr/asciidoc/tree/py3dev

Diskusi povedeme všichni v https://github.com/pepr/asciidoc/issues
(ono se to postupně vystříbří, ale pište tam aglicky, pokud možno).
Zatím to budu řešit přes pull request a merge, postupně tam
podle dohody přidám další lidi, aby to neviselo na mé přítomnosti.

Mějte se fajn,
Petr

__
> Od: Petr Viktorin 
>2015-09-17 13:38 GMT+02:00 Petr Přikryl
>> Ahoj Petře a Danieli,
>>
>> Už jsem to rozjel. Mrkněte na
>>
>> https://github.com/asciidoc/asciidoc/issues/83#issuecomment-140990953,
>>
>> kde se zatím vede neformální diskuse --  elextr je asi jeden z těch, kdo může
>> dělat pull.
>>
>> Vyrobil jsem fork https://github.com/pepr/asciidoc a větev py3dev.
>> Pracovně se nové programy jmenují asciidoc3.py, asciidocapi3.py...
>> Pak se s tím něco udělá. Podle mého názoru se to nejdříve musí
>> rozjet "nějak", aby to fungovalo jako ta verze pro Python 2. Nejsem
>> stoupencem přístupu "musí se to navrhnout celé znovu". Víc příkladů
>> ukazuje, že tato cesta vede do nikam (viz webový prohlížeč, který
>> už ani nevím jak se jmenoval... Netscape?).
>
>
>> Mrknu na Danielův příspěvek  https://github.com/Dundee/asciidoc/tree/python3
>>
>> Navrhuji, abyste se zapojili (když budete chtít) přes ten horní odkaz 
>> "issues".
>> Tam se domluvíme na plánu. Nemá smysl tříštit síly. A chtělo by to dohodnout,
>> jakou formou a kde bude probíhat "oficiální" diskuse -- žádné velké 
>> formality,
>> ale aby všichni věděli, kde to mají sledovat.
>
>Jak říkám, chtěl bych na to mít čas :(
>
>> Nejspíš bude více vláken diskuse (namátkou: jak to propojit s původním 
>> asciidoc,
>> jak to předělávat, budoucí struktura, vztah k definici syntaxe, spolupráce s 
>> týmem
>> AsciiDoctor [Ruby], Linux vs. Windows a další).
>>
>> Jsem v AsciiDoc nováček a dělám většinou pod Windows (kvůli tomu, co dělám
>> v práci). Zkrátka, chce to dát hlavy dohromady. (Kdo má děcka školou povinná,
>> tak ví, že to v dnešní době není vždy dobrý nápad -- vši, zvláště po 
>> prázdninových
>> táborech. Ale ode mě vám nebezpečí nehrozí, bo vši nemají brusle ;)
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Používá někdo AsciiDoc?

2015-09-15 Tema obsahu Petr Přikryl

Jo. No právě. Vývoj není aktivní, ale vypadá to, že se dosavadní verze
aktivně používá.
 
Ona existuje implementace zpracování toho formátu v Ruby,
která se jmenuje AsciiDoctor. Mě ale Ruby přijde (jako jazyk) takové moc
šamanské. Nějak jsem nenašel chuť do toho jazyka pronikat.
Narazil jsem na názory, že AsciiDoctor trochu uhýbá z původnífunkčnosti, a 
proto někteří dávají stále přednost původnímu asciidoc.
 
Asciidoc jako formát je zajímavý. V podstatě by měl mít téměř možnosti
DocBook s tím, že se to líp píše i čte (jako zdroják). DocBook je jeden
z hlavních výstupů zpracování, na kterém se pak staví.
 
Kdo znáte trochu Markdown (používá se na GitHub pro README.md
zobrazované na stránce projektu), pak asciidoc je jakoby jeho mocnější
alternativa (trošku podobné v přístupu, ale propracovanější).
 
Například Scott Chacon, autor knihy Pro Git (český překlad odpovídá prvnímu 
vydání
https://git-scm.com/book/cs/v1), u druhého vydání (anglicky 
https://git-scm.com/book/en/v2)
přešel z markdown k asciidoc a pochvaluje si to. Je to ale Ru(g)bysta
a používá AsciiDoctor.
 
Ta implementace asciidoc.py má kolem 6200 řádků, v podstatě v jednom
souboru. Ale samotnému se mi do toho nechce.
 
Nejdříve bych navázal kontakt s autorem, protože nejspíš
má plán, jak by to šlo vylepšit. Pak to chce pořádně nastudovat,
(detaily syntaxe i dosavadní testy), aby se daly dopisovat nové testy
pro starou i pro novou verzi.
Pak by se mělo rozhodnout, jestli se bude paralelně upravovat
ta dvojková verze, nebo ne. Osobně bych na dvojkovou verzi
šahal jen v případě, že se napíše nový test, který odhalí chybu.
 
Chce se do toho někomu?
 
Petr
 
__

Od: Petr Messner <petr.mess...@gmail.com>
Komu: Konference PyCZ <python@py.cz>
Datum: 15.09.2015 17:26
Předmět: Re: [python] Používá někdo AsciiDoc?


Asi to bude tohle, ale na moc aktivní vývoj, nebo spíš aktivního maintainera, to 
nevypadá:https://github.com/asciidoc/asciidoc 
<https://github.com/asciidoc/asciidoc>PM
Dne 15. září 2015 17:15 jaak...@gmail.com <jaak...@gmail.com> <jaak...@gmail.com 
<jaak...@gmail.com>> napsal(a):
Ahoj Petře,

jen tak ze zvědavosti, ne že bych se do toho hrnul
ale docela bych  si rád prohlédnul kód, který se
má předělávat.
Je to možné?
Jar. Kubias, alias Tovim

On 15.9.2015 15:20, Petr Přikryl wrote:
Zdar všem pyvařům,
  Používáte někdo pro tvorbu dokumentace AsciiDoc formát zpracováváný
pythonovskou implementací asciidoc.py?
  Nenašli by se tu nějací, kdo by se zapojil do předělávky pro Python 3?
  Mějte se fajn,
    Petr
___
Python mailing list
python@py.cz <python@py.cz>
http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>

Visit: http://www.py.cz <http://www.py.cz>
___
Python mailing list
python@py.cz <python@py.cz>
http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>

Visit: http://www.py.cz <http://www.py.cz>

--

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>

Visit: http://www.py.cz <http://www.py.cz>

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Používá někdo AsciiDoc?

2015-09-15 Tema obsahu Petr Přikryl

Ahoj
 
AsciiDoc má svou Git repository tady https://github.com/asciidoc/asciidoc
__

Od: "jaak...@gmail.com" <jaak...@gmail.com>
Komu: Konference PyCZ <python@py.cz>
Datum: 15.09.2015 17:18
Předmět: Re: [python] Používá někdo AsciiDoc?


Ahoj Petře,

jen tak ze zvědavosti, ne že bych se do toho hrnul
ale docela bych  si rád prohlédnul kód, který se
má předělávat.
Je to možné?
Jar. Kubias, alias Tovim

On 15.9.2015 15:20, Petr Přikryl wrote:

Zdar všem pyvařům,
  
Používáte někdo pro tvorbu dokumentace AsciiDoc formát zpracováváný

pythonovskou implementací asciidoc.py?
  
Nenašli by se tu nějací, kdo by se zapojil do předělávky pro Python 3?
  
Mějte se fajn,

    Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>

Visit: http://www.py.cz <http://www.py.cz>


___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>

Visit: http://www.py.cz <http://www.py.cz>

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

[python] Používá někdo AsciiDoc?

2015-09-15 Tema obsahu Petr Přikryl
Zdar všem pyvařům,
 
Používáte někdo pro tvorbu dokumentace AsciiDoc formát zpracováváný
pythonovskou implementací asciidoc.py?
 
Nenašli by se tu nějací, kdo by se zapojil do předělávky pro Python 3?
 
Mějte se fajn,
   Petr
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Paměťově náročné řazení

2015-06-16 Tema obsahu Petr Přikryl

Zdravím,
 
Doporučil bych ještě jeden úhel pohledu -- před rozhodnutím o způsobu 
implementaci. Neznám detaily řešeného problému, takže spíš obecně. Já vím, že 
je to jasné, ale někdy si neškodí zopaovat zásady ;)
 
U každého řešeného problému lze analyzovat složitost -- časovou a paměťovou. 
Nejdříve je nutné rozhodnout, jaká z nich je u řešeného problému důležitější, 
případně jestli někde existují limity (velikost pamět, počet procesorů, 
praktická doba řešení). Nakonec se to vždy plácne jen tak (pokud je to malý 
problém a nemá cenu se tím zabývat), nebo se hledá kompromis -- optimalizuje 
se. Ale před optimalizací je nutné zvolit správný přístup.
 
Mnohé implementační počiny vycházejí z naivního přístupu, který se pak těžko 
převrací do něčeho použitelného. Buď se každá část navrhne správně už od 
začátku, nebo se to musí dát snadno přepsat. Pokud něco z toho není splněno, 
jde to do kopru.
 
Mnohá řešení tratí na tom, že se od začátku upneme na nějaký konkrétní způsob řešení 
(konkrétní způsob implementace). Často používáme Nic mi neříkejte, já na to přijdu 
sám! místo toho, abychom použili prozkoumané (i když nám zatím neznámé) techniky.
 
Když to shrnu:
 
- Nemístné šetření prostorem většinou sníží rychlost řešení.
- Nemístné plýtvání prostorem většinou dále nezvýší rychlost řešení.
- Neexistuje jediné nejlepší řešení pro všechny situace. Vždy je to kompromis.
- Mohou existovat rozpoznatelné situace, kdy je výhodnější jedno z více známých 
řešení. Celkové řešení může být například zdvojené s tím, že se to lepší vybírá 
dynamicky.
 
(Vezměte si například hloupý SQL serve s SQL dotazovacím jazykem. Tam se 
napřelo už tolik úsilí, že stěží sami přijdete na něco lepšího při optimalizaci dotazu.)
 
Pokud je nutné řadit, pak nejlepší sekvenční algoritmus má teoretickou časovou 
složitost O(n log n). Tolikrát se budou muset transformovat data, pokud nebudou 
uložena. Příprava před řazením může věci urychlit.
 
Nechtěl jsem napsat vyčerpávající odpověď ;)
 
Mějte se fajn,
    Petr
 
__

Od: Lumír Balhar frenzy.madn...@gmail.com
Komu: python@py.cz
Datum: 15.06.2015 22:36
Předmět: [python] Paměťově náročné řazení


Ahoj všem.

Řeším s kamarádem jeden jeho projekt, jehož součástí je i Burrows-Wheelerova 
transformace, která se používá před kompresí dat společně s Move to Front 
transformací pro snížení entropie vstupních dat a tím zvýšení efektivity 
kompresního algoritmu, kterému tyto dvě transformace předcházejí.

Pochopení transformací není potřeba. U BWT se využívá tzv, buffer, který obsahuje všechny 
možné rotace vstupních dat, takže například pro ema má maso vypadá takto:

0 ema ma maso
1 ma ma masoe
2 a ma masoem
3  ma masoema
4 ma masoema 
5 a masoema m

6  masoema ma
7 masoema ma 
8 asoema ma m

9 soema ma ma
10 oema ma mas

Pro malá data je to dobré, ale pro velká nelze mít celý buffer v paměti, 
protože se pro každý vstupní znak navíc rozšíří o řádek i sloupec zároveň.
Napsal jsem tedy pro Buffer samostatnou třídu, kde pomocí __getitem__ 
vygeneruji potřebný řádek posunem až ve chvíli, kdy je jeho obsah potřeba.

Základní buffer jsem tím vyřešil a ušetřil hromadu paměti. Problém ale je, že v 
dalším kroku potřebuji tento buffer lexikograficky seřadit. Abych jej opět 
nemusel cpát do paměti, vytvořil jsem pole indexů, kde každý index reprezentuje 
jeden řádek bufferu a řadím jen toto pole (čímž získám přeskládané pořadí řádků 
původního bufferu), ale jako klíč používám právě obsah řádku pro daný index.

Konkrétně:

class Buffer():
   def __init__(self, input):
       self.input = input
       self.indexes = [x for x in range(len(input))]

   def __getitem__(self, index):
       return self.input[index:] + self.input[0:index]

   def sort(self):
       self.indexes.sort(key=lambda x: self[x])


A teď jsme se dostali k jádru problému. I když se obsah jednotlivých řádků 
generuje až ve chvíli, kdy jsou potřeba, a řadit by se mělo jen relativně malé 
pole indexů, při volání funkce .sort() se jakoby stejně celé to pole nejdříve 
vytvoří v paměti, seřadí a pak se seřadí to cílové pole s indexy na základě 
obsahu bufferu.

Existuje způsob, jak implementovat takovýto řadící algoritmus pro velký objem 
dat, aniž bych je měl v jednu chvíli všechny v paměti?

Předem díky za nakopnutí tím správným směrem.
Lumír
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Využití Pythonu

2014-12-31 Tema obsahu Petr Přikryl
HTML on-line verze je podle mě čitelnější

http://diveintopython3.py.cz/index.html

__
 Od: Lukaz Nejakej lukaz1...@gmail.com
 Komu: python@py.cz
 Datum: 30.12.2014 01:25
 Předmět: Re: [python] Využití Pythonu

Zdravím Vás,

promiňte, nečetl jsem celé vlákno, nezlobte se prosím,
Pouze reaguji odkazem, na výbornou knihu od Marka Pilgrima, jak v českém 
překladu,tak i v doporučeném anglickém originále.

EN:
http://www.bogotobogo.com/python/files/pytut/dive-into-python3.pdf

CZ:
http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf



Montymu, krajtám a krajticím zdar!
Luky
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] python 3 cp1250 retazec do utf-8

2014-08-14 Tema obsahu Petr Přikryl
Kecám. Blbost. Ten connection string se předá, jak je. Ale nějak se tam to 
kódování musí vnutit dřív. Nebo se musí dosáhnout toho, aby to pyodbc nechal v 
binární podobě (bytes).

P.

__
 Od: Petr Přikryl prik...@atlas.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 14.08.2014 17:20
 Předmět: Re: [python] python 3 cp1250 retazec do utf-8

Vrací se to 'doruèené' jako string nebo jako bytes? Pokud je to unicode 
string, tak už je to v tom okamžiku špatně a melo by se to řešit už dřív a ne 
až dodatečně. Connection string bere i další parametry, které nepředává 
ovladači, ale pyodbc je použije pro sebe. Nezkoušel jsem to, ale letmo jsem v 
dokumentaci narazil na něco takového: 'CHARSET=cp1250'. Je tam ještě nějaký 
parametr, aby se vše vracelo jako unicode.

P.


__
 Od: Zdenko Podobný zdpos...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 14.08.2014 16:27
 Předmět: Re: [python] python 3 cp1250 retazec do utf-8

napr. 'doruèené' a potrebujem mať 'doručené'

v pyodbc kódovanie neriešim (v connect mam len db, user a pass)
V odbc driveri je nastavene db aj client locale na en_US.819, ale data do
db aplikacia uklada v lokalnom  windows kodovanie (cp1250) ;-) Akykolvek
pokus o zmenu kovania v odbc konci odmietnutim spojenia na db (testovane vo
winsql).



2014-08-14 16:08 GMT+02:00 Petr Viktorin encu...@gmail.com:

 2014-08-14 15:58 GMT+02:00 Zdenko Podobný zdpos...@gmail.com:
  Ahojte,
 
  ako prekodovat cp1250 retazec do utf-8 v pythone 3.4.1?
  V 2.7 to bolo jednoduche: retazec.decode('cp1250').
  Retazec je vystup z databazy cez pyodbc, kde neviem ovplyvnit
 kodovanie...

 Co dostáváš za řetězec? Respektive, jaké kódování předpokládá ono pyodbc?
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python

 Visit: http://www.py.cz



--

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
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.

2014-08-08 Tema obsahu Petr Přikryl
A co formulace... ?

Někteří lidé mluví o modelu větvení v systému Git jako o převratné vlastnosti 
(„killer feature“).

__
 Od: Jakub Vysoky ja...@borka.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 08.08.2014 10:04
 Předmět: Re: [python][python ]Má někdo čas osvěžit si nebo naučit se Git? 
 Potřebuji kontrolní oko.

Sorry ze protahuju to OTecko, ale osobne mam s prevratny rys problem, ze
jsem to nikdy nikde neslysel.. A feature jako rys... hm... Ale treba se
to ujme :)))
On Aug 8, 2014 12:57 AM, Petr Přikryl prik...@atlas.cz wrote:

  terminus technicus :)
 
 To by se ovšem nemusely překládat žádné terníny. Proč potom tu knihu
 překládat :)

 No právě :)

 Killer feature nemá nic společného s násilím, zvlášť na lidech --
 viz http://en.wiktionary.org/wiki/killer#Noun význam 3.
 
 Myslím že ona naprosto zásadní, nebo třeba převratná vlastnost by
 byla mnohem lepší.

 Jo. To je přesně ten případ. Dám: ... převratný rys (killer feature) ...

 i když to nevyjadřuje úplně vztah ke konkurenci a není to myšlenka uvedená
 Gitem.

 P.
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python

 Visit: http://www.py.cz



--

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Má někdo čas osvěžit si nebo naučit se Git? Potřebuji kontrolní oko.

2014-08-07 Tema obsahu Petr Přikryl
Petr Viktorin
Ví o tom lidi z CZ.NIC? Bylo by fajn kdyby pak vydali doplněnou
papírovou verzi :)

Ono to tam visí už dost dlouho, takže o tom asi ví.
Ale s inovovanou papírovou verzí to nebude tak horké,
protože to sázejí ručně.

Ale zkoušel jsem jen tak cvičně PDF. Muselo by se to 
trochu poplácat kvůli obrázkům, ale jinak by to šlo 
technicky celkem snadno.

P.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Má někdo čas osvěžit si nebo naučit se Git? Potřebuji kontrolní oko.

2014-08-07 Tema obsahu Petr Přikryl
Pojem killer feature bych raději přeložil jinak než vražedná vlastnost
:)

To jsem čekal! Tak jak se to řekne česky, aby to bylo takové cool?
:)

P.

P.S. Víc hlav, víc zelí.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] [python ]Má někdo čas osvěžit si nebo naučit se Git? Potřebuji kontrolní oko.

2014-08-07 Tema obsahu Petr Přikryl
No, ono by při překladu neměl být přeložen jen význam, ale taky trochu
syntaxe -- pokud to jde. 

Možná omračující rys ? 

Neusmrtí to sice tolik, jako zabití, ale mohlo by to být ono. Ještě jsem
uvažoval dechberoucí rys nebo dech beroucí rys, ale k tomu spíš 
pasuje breathtaking feature.

P.

__
 Od: Jakub Vysoky ja...@borka.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 07.08.2014 20:57
 Předmět: Re: [python]Má někdo čas osvěžit si nebo naučit se Git? Potřebuji 
 kontrolní oko.

naprosto zasadni ;)))

2014-08-07 7:24 GMT-07:00 Petr Přikryl prik...@atlas.cz:
Pojem killer feature bych raději přeložil jinak než vražedná vlastnost
:)

 To jsem čekal! Tak jak se to řekne česky, aby to bylo takové cool?
 :)

 P.

 P.S. Víc hlav, víc zelí.
 ___
 Python mailing list
 python@py.cz
 http://www.py.cz/mailman/listinfo/python

 Visit: http://www.py.cz



-- 
Jakub Vysoky

mob: +420 605 852 377
jab: jakub.vys...@gmail.com
twit: https://twitter.com/kvbik
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] začiatočník programuje alebo to to nejak zabaliť do grafiky

2014-06-23 Tema obsahu Petr Přikryl
No... Díky. 

Fakt je, že originál pokročil. Existuje i verze pro Python 3.
Psal jsem to tenkrát ručně, přímo v HTML, bez nástroje 
pro podporu překladu. Je to pracné a špatně se pak 
doplňují změny.

Pokud byste někdo měl hlubší zkušenost s OmegaT
nebo s něčím podobným free, chtělo by to 
(http://jaksenaucitprogramovat.py.cz/)
trochu oprášit.

Co se týká OmegaT, zhavaroval jsem na podpoře 
rozsekávání HTML na věty.

Mějte se krásně,
   Petr

__
 Od: rmik...@pss.sk
 Komu: Konference PyCZ python@py.cz
 Datum: 20.06.2014 21:51
 Předmět: Re: [python] začiatočník programuje alebo to to nejak zabaliť do 
 grafiky

Tutorial
http://jaksenaucitprogramovat.py.cz/
mozem vrele doporucit, je to skvela ucebnica a to hlavne vdaka skvelemu 
prekladu Petra Prikryla 

Ja som sa pomocou tohoto tutorialu zacal ucit Python asi pred 10 rokmi. Pocas 
studia som s Petrom emailom  konzultoval niektore problemy, na ktore som 
narazil. 
Velmi mi pomohol a chcel by som mu za to este raz podakovat. 

S pozdravom
Roman

-Python python-boun...@py.cz píše: - 
Komu: Konference PyCZ python@py.cz
Od: Petr Přikryl 
Odoslal: Python 
Dátum: 20.06.2014 09:25
Predmet: Re: [python] začiatočník programuje alebo to to nejak zabaliť do 
grafiky


jaksenaucitprogramovat.py.cz/http://

__
 Od: Martin Gulkaš mghor...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 19.06.2014 23:19
 Předmět: [python] začiatočník programuje alebo to to nejak zabaliť do grafiky

Dobrý deň!

som začiatočník v pythone samouk. Práve som sa naučil ako tak základy, 
potrebujem jednoduchý zápis tohto programu do grafiky, alebo ako to 
zapísať do grafiky vid príloha.Ps trochu experimentujem = opisujem kódy 
ktoré sú napísane formou oop pretože  v tom vidím značnú brzdu, 
respektívne ak sa nenaučím oop nemôžem ľahko používať alebo vytvárať 
grafiku.


--

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz







Upozornenie: Obsah tohto emailu, vrátane obsahu jeho príloh, je dôverný a je 
určený výlučne jeho adresátovi a ďalším osobám, ktoré sú oprávnené ho prijať.
Ak nie ste určeným príjemcom tohto emailu, vezmite prosím na vedomie, že 
akékoľvek použitie, šírenie, vydanie alebo kopírovanie tohto emailu je prísne 
zakázané. 
Ak ste tento email obdržali omylom alebo ak sa pri jeho prenose vyskytnú 
akékoľvek problémy, prosím volajte +421 (2) 58555855 alebo napíšte na 
http://www.pss.sk/kontakty/kontaktujte-nas/. 
Ďakujeme.

Warning: The content of this message, including its enclosures, is 
confidential and privileged, and it is intended only for use of the addressee 
or another authorized recipient. 
If you are not the intended recipient of this email, please be aware, that any 
use, dissemination, edition or duplication of this email is strictly 
prohibited.
If you have received this email and you are not the intended recipient or if 
some transfer problems have emerged, please notify us immediately by 
telephoning +421 (2)58555855 or http://www.pss.sk/kontakty/kontaktujte-nas/. 
Thank you. 


--

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] 10 awesome Py3-only features

2014-06-23 Tema obsahu Petr Přikryl
Python 3 používám už delší dobu -- všude, kde to jde.
Fakt je, že jsou to spíš jednoduché věci. 

Jediné, co mě drží u Pythonu 2 je wxPython.

Máte někdo zkušenost s použitím nástupce wxPython
pro trojku? (Projekt Phoenix)

P.

__
 Od: Vladimir Macek ma...@sandbox.cz
 Komu: \Konference uživatelů Pythonu a spol.\ python@py.cz
 Datum: 23.06.2014 15:33
 Předmět: [python] 10 awesome Py3-only features

Predpokladam, ze tu nejsem sam, kdo ma sve projekty na Pythonu 2 a ma za
to, ze to jeste nejakou dobu tak bude.

Po zhlednuti teto prezentace jsem ale dosti nalomen. :-) Atraktivne shrnuto.

http://asmeurer.github.io/python3-presentation/slides.html

Co vy?

-- 
:  Vladimir Macek  :  http://macek.sandbox.cz  :  +420 608 978 164
:  UNIX  Dev || Training  :  Python, Django  :  PGP key 97330EBD
:
:  PRÁZDNINOVÁ ŠKOLENÍ:  http://macek.sandbox.cz/skoleni/aktualni/

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Prekdovn textovch souboru z DOSu.

2014-03-04 Tema obsahu Petr Přikryl
Varianta by mohla být:
 - otevřít výstupní soubor v binárním režimu
 - načtený vstup explicitně překódovat s některým nedefault argumentnem errors

 obsah.encode(encoding=cp1250, errors=backslashreplace)

   a zapsat výsledek.
 

Pak budou ty nepřeložitelné znaky snadno dohledatelné jako escape sekvence 
a můžeš je nahradit třeba ručně (v editoru, pokud je to jednorázová věc).

Taky by šlo před převodem z Unicode do výstupního souboru použít .replace()
pro známé (nepřevoditelné) znaky a teprve potom zapisovat do výstupního souboru


Petr

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 03.03.2014 19:54
 Předmět: Re: [python]Prekdovn textovch souboru z DOSu.

Az tak prosté to není, predpokládá to mít osetrené vsechny paznaky, to uz 
rovnou muzu definovat celé translate, ideální by byla volba 
ignore-all-others a mít moznost definovat univerzální nahrazující znak - ne 
vzdy se hodí otazník.

- Puvodní zpráva - 
Od: Ondrej Beranek

prosté. dík.

2014-03-03 17:44 GMT+01:00 Hynek Fabian hynek.fab...@firma.seznam.cz:

S.translate(table [,deletechars]) - string

Return a copy of the string S, where all characters occurring
in the optional argument deletechars are removed, and the
remaining characters have been mapped through the given
translation table, which must be a string of length 256 or None.
If the table argument is None, no translation is applied and
the operation simply removes the characters in deletechars.


On 03/03/14 17:45, Ondrej Beranek wrote:
 dovolim si do toho vstoupit,
 kdybych takovou konverzi stejne chtel provest, s tim ze si sam reknu na co
 to prevest je mozne nejak konverzni tabulku dodefinovat ?

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] Filozoficko-průzkumná otázka

2014-02-27 Tema obsahu Petr Přikryl
Ahoj Marku,

Vezmu to z jiného konce. Tvůj úspěch je založen na multidisciplinární
znalosti (historie + schopnost vytvořit nástroj užitečný pro ostatní) a toho
by ses měl držet. Kolegové historici přijali tvůj programátorský příspěvek
a to se nestává často. Ryzí programátoři někdy nemají cit pro koncové
zákazníky. Na druhou stranu, formální vzdělání (počítačové) ti dá vědomosti,
které normálně nejsou vidět, ale které ti umožní přemýšlet o věcech, které
při programování zatím nikdo jiný nedělal. Dá ti základy, o kterých ostatní
mnohdy ani neslyšeli. To máš jako když někdo umí rozšroubovat a složit
budík (mechanický) -- hodináře to z něj nedělá, ale může všem známým
okolo opravit na budíku jemu známou typickou závadu.

Formální vzdělání (v jakémkoliv oboru) tě donutí učit se i věci zdánlivě
zbytečné, které ale zůstanou někde schované a využiješ je v neočekávané
chvíli. Všechno se dá naučit i bez formálního vzdělání. Problém je v tom,
že člověk je od přírody líný a většina se (hlavně v pozdějším věku 30+)
už nikdy nedonutí dostat do hlavy tolik věcí, co do té doby.

Základem programování je rozvíjení představivosti související s tím,
jako to uvnitř funguje a jak by to mělo fungovat. Základem je schopnost
napasovat na sebe reálný problém a možnosti technického řešení.
Formální vzdělání se zabývá spíš tím technickým řešením. Schopnost
vidět možnosti řešení reálného problému se učí obtížněji. Pokud ji 
máš, rozvíjej to. Pokud budeš mít pochybnosti o zvoleném technickém
přístupu, ptej se -- tady nebo jinde. Spousta lidí ti ráda poradí
a nasměruje tě.

Důležité je nalézt otázky. Odpovědi už se pak hledají snadněji.

Petr


__
 Od: Marcus Scalpere xdlabac...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 26.02.2014 18:02
 Předmět: [python] Filozoficko-průzkumná otázka

Pěkný den vinšuji,
pythonem se neživím, ale dost mě baví, jako nezaměstnaný mám dost času a 
dost mě těší rychlost (možná zdánlivá) pokroku. Tak bych se rád optal - 
kdo z vás se živí pythonem? A ti, kteří ano, co děláte (weby či něco 
jiného)? A jaké máte vzdělání? Jde mi o to, jestli můj koníček má 
budoucnost nebo to zůstane jen koníčkem. A jaká je šance na uplatnění? 
Berto spíš jen jako takový průzkum :-)
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] GUI pro Python 3.3

2014-02-18 Tema obsahu Petr Přikryl
Ahoj Romane,

Tkinter je k Pythonu přibalený, ale je to spíš takový záchranný člun.

GUI toolkitů je víc (https://wiki.python.org/moin/GuiProgramming),
ale osobně bych si vybral buď wxPython (zatím jen pro Python 2) nebo Qt.
Qt mi připadá horší z hlediska licenčního a taky to vypadá na těžší váhu
(snaží se některé věci dělat vlastními prostředky). Víc se mi líbí wxPython.
Problém je v tom, že wxPython pro Python 3 je zatím ve vývoji (projekt Phoenix
http://wiki.wxpython.org/ProjectPhoenix).

Očekávej vášnivé obhajování toho či onoho toolkitu, protože tohle
je svatá půda :)

Petr

__
 Od: Roman Zbořil sewerman...@gmail.com
 Komu: python@py.cz
 Datum: 18.02.2014 08:47
 Předmět: [python] GUI pro Python 3.3

Učím se programovat v Pythonu. Nainstaloval jsem si Python 3.3 a po prvním 
rozkoukání jsem si vyzkoušel GUI tkinter.
Tkinter mi přijde jednoduchý pro programování, ale jak postupně zjišťuji chybí 
mu pokročilejší možnosti proto hledám jiné GUI 
Nejde mi o to abych si okno naklikal, nevadí mi přidávat si jednotlivé prvky 
do okna postupně. 
Jaké jiné GUI (multiplatformní) je vhodné pro programování s Python 3.3?

Děkuji
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] spusteni programu s parametry

2014-02-12 Tema obsahu Petr Přikryl

Může být uvedena i delší cesta. Windowsovský launcher najde
python3 i v delším řetězci.
 
P.
__

Od: zu1234 zu1...@seznam.cz
Komu: Konference PyCZ python@py.cz
Datum: 12.02.2014 13:00
Předmět: Re: [python] spusteni programu s parametry

Ahoj Ondro,

Odhaduji, že pracuješ pod Windows. Zkusil jsem tento jednoduchý program
nazvaný a.py:

#!python3

S tímhle ale asi na linuxu moc nepochodíme.
Zdrojáky s #!python3 už nebudou přenositelné, myslím.


ZU
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] externí program proměnné

2013-11-21 Tema obsahu Petr Přikryl
Přímo z shelu (cmd) se o něčem takovém nedá rozumně
uvažovat. Musela by se nějak fikaně modifikovat datová oblast
rodičovského procesu, což žádný OS nevidí rád. 
Proměnné prostředí zde se vždycky kopírují do dětského procesu
a dělá se to v okamžiku vytváření nového procesu. Opačná cesta není.
 
Jenže Python se do té cesty umí vklínit jinak. Umí vytvořit nový
proces a předhodit mu místo kopie svůj vlastní prostor s proměnnými
prostředí. Ale ten je taky jen kopií z jeho otce. To znamená, že v Pythonovském
procesu sice zjistím, co udělal potomek, ale rodičovi už to ven neřeknu.
 
Dejme tomu, že mám dávku a.bat
==
@echo off
set moje=moje promenna prostredi
echo %0: %moje%
==
 
Pythonovský skript může vypadat takto (a.py)
==
#!python3

import os
import subprocess

p = subprocess.Popen('a.bat', env=os.environ)
retcode = p.wait()

v = os.environ['moje']

print('Python: retcode z davky je {}, vracena hodnota je {}'.format(retcode, 
repr(v)))
==
 
Vypíše to:
==
c:\__Python\geona.py
a.bat: moje promenna prostredi
Python: retcode z davky je 0, vracena hodnota je 'moje promenna prostredi'
==
 
Tady to není nic proti ničemu -- žádné znásilňování. Jen se prostě neudělá kopie
vlastního prostředí, ale předá se to stejné prostředí dětskému procesu.
 
 
 2013/11/20 g...@post.cz mailto:g...@post.cz

     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
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] How To again

2013-08-22 Tema obsahu Petr Přikryl
Widget v Tkinteru je OK. Je to doslova prvek mající vlastní okno.
To platí i pro label, takže tady není žádný problém. Problém
by nastal po překladu, kdyby se to překládalo jako ovládací
prvek. Ovládací prvek by mohl být OK pro tlačítko, radio button,
check box a podobné jednoduché věci...

Ale třeba samotný list box může mít z pohledu uživatele  víc 
ovládacích prvků (šoupátko scroll baru, tlačítka scrollbaru, 
klikací oblasti nad a pod šoupátkem, nebo dokonce vybíratelné
položky). Naproti tomu listbox jako widget je OK, protože je 
to prvek uživatelského rozhraní s vlastním oknem.

P.

__
 Od: Tovim jaak...@gmail.com
 Komu: 'Konference PyCZ' python@py.cz
 Datum: 22.08.2013 16:27
 Předmět: Re: [python] How To again

Ahoj Michale,  zu,  Petře.

 

Dovoluji si připomenout, že počátkem debaty bylo dilema, zda widget či piškot.

Jestli má být widget překládán jako ovládací prvkek, komponenta či whatnot

je už jaksi nad plán.

V Tkinteru je label widgetem, až už je ovládacím prvkem či není.

 

BW, Tovim

 

 

From: Python [mailto:python-boun...@py.cz] On Behalf Of Petr Nesladek
Sent: Thursday, August 22, 2013 8:54 AM
To: Konference PyCZ
Subject: Re: [python] How To again

 

Po delší době mne debata vyprovokovala taky přispět ...
- widget je pro mne jasný technicky zažitý termín (ano poprvé jsem taky 
zapátral cože to znamená, ale dál navždy je to jendoznačné)

- ovládací prvek - zní jasně ze světa Windows ... proč ne, ale label - jak 
už bylo napsané nic neovládá - a v tom směru by přesnější byl grafický prvek

- a nebo se spokojit s tím prvkem

-komponenta je jasná v jednom uzavřeném textu, ale jako ustálené označení 
pro wiget je to podle mého názoru moc obecný výraz, ale koneckonců možný, (jen 
bych se pořád ubezpečoval , že stále mluvíme o tomtéž)

Takže podle mého nározu jsou priority a oblíbenost v pořadí: widget, 
ovládací(grafický) prvek, komponenta.

Piškot nebo udělátko asi jen jednotlivě pro jeden článek, jako ustálený termín 
 bych se jim asi vyhýbal.

  Petr

-- Původní zpráva --
Od: zu1234 zu1...@seznam.cz
Datum: 22. 8. 2013
Předmět: Re: [python] How To again

 

Můj názor čtenáře je takovýto: slovo widget mne mate.

Vyvolává to ve mně dojem něčeho důležitého a tak speciálního, že to
musí být extra pojmenováno - což je nesmysl.

Pokud existují varianty prvek, ovládací prvek, nebo dokonce 
komponenta, tak bych velmi přivítal kdybychom zůstali u nich.

Nemordujme zbytečně češtinu pokud to není nezbytné.

ZU

Dne 21.8.2013 21:32, Michal Molhanec napsal(a):
 Dobrý den,

 já chci jenom upozornit, že control tj. ovládací prvek je ve světě
 Windows (já vím, fujky, fujky) ale také třeba wxWidgets/wxPythonu prostě
 libovolný prvek UI, tj. zcela to samé co widget v knihovnách původem
 pocházejících ze světa unixu.

 Osobně (čistě soukromý názor, který nikomu nevnucuji) nevidím důvod,
 proč nepoužívat ovládací prvek i pro překlad slova widget, je to
 zaběhlý termín, který často znají i neprogramátoři. Případně jenom
 prvek (uživatelského rozhraní), pokud se to zdá lepší.

 Jinak ve Swingu se používá termín komponenta, ten je úplně univerzální,
 i když mně se moc nelíbí (je dlouhý :-) ).

 Zdraví,
 Michal Molhanec

 Dne 21.8.2013 13:48, Petr Přikryl napsal(a):
 Přidávám se k názoru Petra Blahoše. Pojem by se měl překládat přesně.
 Nemusí to být 1:1, ale pojem v cílovém jazyce by měl být přesný pro
 čtenáře v cílovém jazyce. Souvisí to s představivostí, s abstraktním
 myšlením.

 Ne vždy se všechno překládá pečlivě s ohledem na srozumitelnost.
 To ale neznamená, že je to správně.

 Ovládací prvek by měl dělat to, co ten pojem říká. Label je widget, ale
 podle mého názoru to není ovládací prvek.

 Programátoři se nakonec stejně musí naučit anglicky (alespoň pasivně).
 Význam překladu odborného textu pro programátory (podle mého názoru)
 je dvojí: 1) pomůže začátečníkům, 2) pomáhá zvládnout složitější věci,
 protože složitější programátorské věci vyžadují představivost.

 Schopnost snadno si něco představit souvisí se znalostí jazyka
 (lidského jazyka jako takového) a se znalostí pojmů.

 Pokud pojem není možné snadno přeložit, často jej stačí obšírně
 vysvětlit (aby si čtenář vytvořil svou představu) a používat jej v 
 originálním
 znění -- převzetí slova (skloňovat; tedy widget, widgetu,...)

 Programátor čte jak české, tak anglické texty. Pokud se to někde hemží
 zkratkami jako GUI, a pojmy widget, pak je těžké mentálně přecházet
 k textu, kde se to hemží GUR a piškot. Buď to má zůstat co nejpodobnější,
 nebo to musí dávat velmi dobrý smysl v češtině. Z mého pohledu je
 proto překlad pojmu label jako prvek GUI mnohen přijatelnější
 než ovládací prvek. Ale v textu -- pokud je to srozumitelné -- může
 přirozeněji působit méně rigidní překlad jako popis nebo popisný prvek.

 Při překladu se to někdy musí řešit opisem. Důležité ale je, aby ten
 opis stvořil programátor, protože se musí opsat mentální obraz,
 který

[python] Widget (Re: How To again)

2013-08-21 Tema obsahu Petr Přikryl
Původní widget souvisí s dalším podobným gadget. Obě slova se používala
už před existencí moderních počítačů a něco znamenají. Gadget je má možná
trochu určitější smysl než widget.

Traduje se, že v software se pojem widget začal používat ve smyslu window 
gadget.

Bacha na piškoty. Narozdíl od widget/gadget pod tímto pojmem rozumíme
něco docela konkrétního. A dovedu si představit, že se to někomu bude plést 
s cookies.

A další věc je, jestli ten překlad má být hlavně zábavný nebo hlavně užitečný.
Takové to americké Python je dobrý, protože je zábavný je trochu ujeté,
jako celé USA.

Pojmy by měly mít v daném oboru přesný význam pro co nejvíc lidí.
Jde o to, že samotné vyslovení pojmu má navodit abstraktní představu
(mentální obraz) popisované věci nebo jevu. Nejde o to, jestli to
někomu připadá zábavné. Musí to být přesné a co nejvýstižnější.
Pokud v tomto smyslu přijdeš na něco českého, co většině lidí
zaklapne jako super nápad pro danou věc, pak budeš vychvalovaným
vynálezcem pojmu. Není vyloučené, že se to tobě nebo někomu 
povede, ale piškot tyhle vlastnosti nemá.

   Ten widget jeden! Nebo vidžet? S widgetem či vidžetem,
   oboje má svoji mouchu. Piškot mi přijde zábavný.
   V textu používám piškot i widget, takže nevím.
   Ápropo: specifické na původním termínu je to, že nic neznamená.
   Podobnou specifikou převodu může být v duchu Létajícího cirkusu
   to, že je mírně střelený.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-21 Tema obsahu Petr Přikryl
Přidávám se k názoru Petra Blahoše. Pojem by se měl překládat přesně.
Nemusí to být 1:1, ale pojem v cílovém jazyce by měl být přesný pro
čtenáře v cílovém jazyce. Souvisí to s představivostí, s abstraktním 
myšlením. 

Ne vždy se všechno překládá pečlivě s ohledem na srozumitelnost.
To ale neznamená, že je to správně.

Ovládací prvek by měl dělat to, co ten pojem říká. Label je widget, ale 
podle mého názoru to není ovládací prvek.

Programátoři se nakonec stejně musí naučit anglicky (alespoň pasivně).
Význam překladu odborného textu pro programátory (podle mého názoru)
je dvojí: 1) pomůže začátečníkům, 2) pomáhá zvládnout složitější věci,
protože složitější programátorské věci vyžadují představivost.

Schopnost snadno si něco představit souvisí se znalostí jazyka
(lidského jazyka jako takového) a se znalostí pojmů.

Pokud pojem není možné snadno přeložit, často jej stačí obšírně
vysvětlit (aby si čtenář vytvořil svou představu) a používat jej v originálním
znění -- převzetí slova (skloňovat; tedy widget, widgetu,...)

Programátor čte jak české, tak anglické texty. Pokud se to někde hemží
zkratkami jako GUI, a pojmy widget, pak je těžké mentálně přecházet 
k textu, kde se to hemží GUR a piškot. Buď to má zůstat co nejpodobnější,
nebo to musí dávat velmi dobrý smysl v češtině. Z mého pohledu je
proto překlad pojmu label jako prvek GUI mnohen přijatelnější
než ovládací prvek. Ale v textu -- pokud je to srozumitelné -- může 
přirozeněji působit méně rigidní překlad jako popis nebo popisný prvek.

Při překladu se to někdy musí řešit opisem. Důležité ale je, aby ten
opis stvořil programátor, protože se musí opsat mentální obraz,
který odpovídá anglickému pojmu. (Proto stojí překlady odborných
textů přeložené angličtináři s humanitním vzděláním často za prd.)

P.

 Od: Jan Bednařík 

Ovládací prvek taky nemusí nic ovládat. Třeba label je běžně používaný
ovládací prvek, který nese jen vizuální informaci.

Zkuste nahlédnout do odborné literatury, manuálů, či jen vygooglete
ovládací prvek a mrkněte, v jakém kontextu se používá. Už dávno je to
obecně zažitý překlad pro widget v GUI, tak bych se ho držel a nesnažil se
vymyslet něco lepšího. Rozhodně ne nějaké paskvily jako piškot.


2013/8/21 Petr Blahos
 Ovládací prvek není widget, ale control. Widget nemusí nic ovládat. Pokud
 zde probíhá forma hlasování, tak hlasuji pro widget, widgety, s widgetem, 
... ale respektuju, že hlavní slovo má auto překladu.

 2013/8/20 Jan Bednařík
 widget má specifický význam, rozhodně není pravda, že nic neznamená.
 Záleží na kontextu v jakém je použit. Pokud myslíme widgetem komponentu v
 GUI, což je tvůj případ, překládá se jako ovládací prvek.

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-20 Tema obsahu Petr Přikryl
Ahoj,

Navrhuji korekci překladu pojmu widget v http://tkinter.py.cz. Nejjednodušší
by bylo ponechat widget a důkladně to ze všech stran vysvětlit. Asi se 
nepodaří
vymyslet něco českého, co by bylo podobně specifické a obecně přijatelné.

Petr

__
 Od: Tovim jaak...@gmail.com
 Komu: 'Konference PyCZ' python@py.cz
 Datum: 18.08.2013 17:08
 Předmět: [python] How To again

Buďte zdrávi pánové a dámy.

 

Právě jsem zavěsil doplněný překlad How To Think Like

a Computer Scientist in Python (3) na http://howto.py.cz 

o překlad textů k Tkinteru (http://tkinter.py.cz)

a dovoluji si vás na to upozornit.

 

Rád bych znal vaše názory.

Tovim

 



--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Petr Přikryl
Ahoj všeci,

Já bych přece jen zůstal u těch cyklů a pořádně to okomentoval. Jedna věc je 
nějak to napsat a druhá věc je být schopný  po roce znovu pochopit, co jsem 
tím myslel (v lepším případě) nebo co tím myslel někdo druhý (v tom horším).

lst1 = [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
print('puvodni seznam slovniku:', lst1)

lst2 = [(x['a'], x['b']) for x in lst1]
print('seznam dvojic hodnot:', lst2)

d = {}
for a, b in lst2:
d[a] = d.get(a, 0) + b  # dosavadní součet nebo nula plus nová hodnota
print('slovnik sum:', d)

lst3 = [{'a': a, 'b': b} for a, b in d.items()]
print('vysledny seznam:', lst3)

Když vynecháte ty tři meziprinty, není to ani moc dlouhé.

Kdo má chuť a čas, mohl by zkusit nějaký větší příklad a timeit.

Ona je ale otázka, jak vůbec vznikl ten původní seznam. Připadá mi to
jako databázová tabulka se sloupci A a B. Jestli by nebylo lepší použít
opravdovou tabulku (sqlite) a opravdový SQL dotaz.

Mějte se fajn,
Petr

__
 Od: Jan Bednařík jan.bedna...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2013 00:32
 Předmět: Re: [python] Suma podle klice slovniku v seznamu

Myslím že to využití groupby je parádní. Je to snadno čitelné, jednoduché a
elegantní řešení. Těžko to půjde napsat čitelnějí pomocí cyklů. Ostatně
právě kvůli tomuto příkladu existuje funkce groupby.

Jen bych to lehce vylepšil použitím operator.itemgetter místo těch lambda
funkcí, tzn.:

from operator import itemgetter

get_a = itemgetter('a')
get_b = itemgetter('b')



2013/4/15 Honza Javorek jan.javo...@gmail.com

 Jde to samozřejmě v podstatě one-linerem, ale bude to nečitelný.



 from itertools import groupby


 def summarize(data):
 get_b = lambda x: x['b']
 get_a = lambda x: x['a']
 return (
 {'a': val, 'b': sum(map(get_b, group))}
 for (val, group)
 in groupby(data, key=get_a)
 )

 data = [{'a': 4, 'b': 3}, {'a': 4, 'b': 5}, {'a': 1, 'b': 3}, {'a': 3,
 'b': 2}]
 print list(summarize(data))  # [{'a': 4, 'b': 8}, {'a': 1, 'b': 3}, {'a':
 3, 'b': 2}]



 Já bych to udělal normálně cyklama, ať se v tom jde vyznat.

 H



 2013/4/15 starenka . staren...@gmail.com

 Ahoj, dal sem si malyho panaka, abych to pochopil, ale porad nechapu,
 pokud by ti nahodou slo o sumu cisel u klicu, tak collections.Counter:

  import collections
  c = collections.Counter()
  for one in [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]:
 ... c.update(one)
 ...
  c
 Counter({'b': 13, 'a': 12})

 Ale asi chces neco jinyho, v tom pripade mi to asi lip vysvetli,
 protoze jsem z pomalejsich

 s
 ---
 In Perl you shoot yourself in the foot, but nobody can understand how
 you did it. Six months later, neither can you. | print
 'aknerats'[::-1]


 2013/4/15 Jaroslav Lukesh luk...@seznam.cz:
  Dobrý den,
 
  existuje na toto nějaký jednoduchý fígl?
 
  mám zdroj (první dva slovníky jsou za sebou abyste je nemuseli hledat,
 jinak
  jsou rozmístěná všeljak)
  [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
 
  a chci ve výsledku sesumírovat všecky b podle stejného klíče a, takto:
 
  [{'a':4,'b':8},{'a':1,'b':3},{'a':3,'b':2}]
 
  hodnota klíče a je obecná, tedy je to text, ne číslo.
 
  Děkuji, JL.
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Petr Přikryl
O collection.Counter tu byla zmínka, ale řešení neodpovídá požadavku.

P.

__
 Od: Jirka Vejrazka jirka.vejra...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2013 09:58
 Předmět: Re: [python] Suma podle klice slovniku v seznamu

Trochu mi unika, proc se tady resi onelinery, kdyz uz starenka napsal
skvele reseni pres collections.Counter, ktery je k tomu primo urceny :)

   Jirka


2013/4/16 Petr Přikryl prik...@atlas.cz

 Ahoj všeci,

 Já bych přece jen zůstal u těch cyklů a pořádně to okomentoval. Jedna věc
 je
 nějak to napsat a druhá věc je být schopný  po roce znovu pochopit, co jsem
 tím myslel (v lepším případě) nebo co tím myslel někdo druhý (v tom
 horším).

 lst1 = [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
 print('puvodni seznam slovniku:', lst1)

 lst2 = [(x['a'], x['b']) for x in lst1]
 print('seznam dvojic hodnot:', lst2)

 d = {}
 for a, b in lst2:
 d[a] = d.get(a, 0) + b  # dosavadní součet nebo nula plus nová hodnota
 print('slovnik sum:', d)

 lst3 = [{'a': a, 'b': b} for a, b in d.items()]
 print('vysledny seznam:', lst3)

 Když vynecháte ty tři meziprinty, není to ani moc dlouhé.

 Kdo má chuť a čas, mohl by zkusit nějaký větší příklad a timeit.

 Ona je ale otázka, jak vůbec vznikl ten původní seznam. Připadá mi to
 jako databázová tabulka se sloupci A a B. Jestli by nebylo lepší použít
 opravdovou tabulku (sqlite) a opravdový SQL dotaz.

 Mějte se fajn,
 Petr

 __
  Od: Jan Bednařík jan.bedna...@gmail.com
  Komu: Konference PyCZ python@py.cz
  Datum: 16.04.2013 00:32
  Předmět: Re: [python] Suma podle klice slovniku v seznamu
 
 Myslím že to využití groupby je parádní. Je to snadno čitelné, jednoduché
 a
 elegantní řešení. Těžko to půjde napsat čitelnějí pomocí cyklů. Ostatně
 právě kvůli tomuto příkladu existuje funkce groupby.
 
 Jen bych to lehce vylepšil použitím operator.itemgetter místo těch lambda
 funkcí, tzn.:
 
 from operator import itemgetter
 
 get_a = itemgetter('a')
 get_b = itemgetter('b')
 
 
 
 2013/4/15 Honza Javorek jan.javo...@gmail.com
 
  Jde to samozřejmě v podstatě one-linerem, ale bude to nečitelný.
 
 
 
  from itertools import groupby
 
 
  def summarize(data):
  get_b = lambda x: x['b']
  get_a = lambda x: x['a']
  return (
  {'a': val, 'b': sum(map(get_b, group))}
  for (val, group)
  in groupby(data, key=get_a)
  )
 
  data = [{'a': 4, 'b': 3}, {'a': 4, 'b': 5}, {'a': 1, 'b': 3}, {'a': 3,
  'b': 2}]
  print list(summarize(data))  # [{'a': 4, 'b': 8}, {'a': 1, 'b': 3},
 {'a':
  3, 'b': 2}]
 
 
 
  Já bych to udělal normálně cyklama, ať se v tom jde vyznat.
 
  H
 
 
 
  2013/4/15 starenka . staren...@gmail.com
 
  Ahoj, dal sem si malyho panaka, abych to pochopil, ale porad nechapu,
  pokud by ti nahodou slo o sumu cisel u klicu, tak collections.Counter:
 
   import collections
   c = collections.Counter()
   for one in
 [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]:
  ... c.update(one)
  ...
   c
  Counter({'b': 13, 'a': 12})
 
  Ale asi chces neco jinyho, v tom pripade mi to asi lip vysvetli,
  protoze jsem z pomalejsich
 
  s
  ---
  In Perl you shoot yourself in the foot, but nobody can understand how
  you did it. Six months later, neither can you. | print
  'aknerats'[::-1]
 
 
  2013/4/15 Jaroslav Lukesh luk...@seznam.cz:
   Dobrý den,
  
   existuje na toto nějaký jednoduchý fígl?
  
   mám zdroj (první dva slovníky jsou za sebou abyste je nemuseli
 hledat,
  jinak
   jsou rozmístěná všeljak)
   [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
  
   a chci ve výsledku sesumírovat všecky b podle stejného klíče a,
 takto:
  
   [{'a':4,'b':8},{'a':1,'b':3},{'a':3,'b':2}]
  
   hodnota klíče a je obecná, tedy je to text, ne číslo.
  
   Děkuji, JL.
   ___
   Python mailing list
   Python@py.cz
   http://www.py.cz/mailman/listinfo/python
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 
 
 
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 
 
 
 --
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Petr Přikryl
Je to tím, že tam nedoplňuješ aktuální hodnotu toho c. Musí se zapamatovat
pro každé a. Může se zapamatovat třeba tak, že se do pomocného slovníku bude 
ukládat spolu se sumovanou hodnotou. Třeba takto:

lst1 = 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
print('puvodni seznam slovniku:', lst1)

lst2 = [(x['a'], x['b'], x['c']) for x in lst1]
print('seznam trojic hodnot:', lst2)

d = {}
for a, b, c in lst2:
sum_lst = d.setdefault(a, [0, c]) # seznam, kde k prvnímu prvku se 
přičítá...
sum_lst[0] += b   # ... hodnota b
print('slovnik sum:', d)

lst3 = [{'a': a, 'b': b, 'c': c} for a, (b, c) in d.items()]
print('vysledny seznam:', lst3)

(Ono se to formátování zase zprasí, takže ty dva řádky se sum_lst jsou odsazené
pod for.)

Petr
__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2013 15:06
 Předmět: Re: [python] Suma podle klice slovniku v seznamu

Ahoj a díky za rozšíření obzorů.

Jsou to data ne zrovna jednoduše vycucaná z databáze, o nějaké dočasné 
tabulcev sqlu  jsem uvažoval protože je nad tímto selektivně sečteným 
výsledkem víc operací, ale připadalo mi to jako ne příliš čisté řešení. 
Otrocky s pomocnýma proměnnýma to taky jde, ale chtěl jsem vědět, jeslti na 
to není nějaký fígl, protože mi připadalo logické, aby pro práci nad poli a 
slovníky bylo aspoň trochu něco jako je v sql.

Ale mám s tím trošku problém, izoloval jsem problém pro tento příklad až 
příliš moc, protože se mi nedaří jej rozšířit o 'c', tedy pro tento vstup 
(podotýkám jen, že hodnota 'c' je stejná pro všechny 'a'):

[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]

chtěl tento výstup:

[{'a': 4, 'b': 8, 'c':9}, {'a': 1, 'b': 3, 'c':7}, {'a': 3, 'b': 2, 'c':6}]

Tady je přehled co jsem zkoušel, tyhle dvě jdou, ale vrací špatné 'c'

=

lst1 = 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
lst2 = [(x['a'], x['b'], x['c']) for x in lst1]
d = {}
for a, b,c in lst2:
d[a] = d.get(a, 0) + b  # dosavadní součet nebo nula plus nová hodnota
lst3 = [{'a': a, 'b': b, 'c': c} for a, b in d.items()]
print('vysledny seznam:', lst3)

==

from itertools import groupby
def summarize(data):
get_b = lambda x: x['b']
get_a = lambda x: x['a']
get_c = lambda x: x['c']
return (
{'a': val, 'b': sum(map(get_b, group)),'c':val}
for (val, group)
in groupby(data, key=get_a)
)
data= 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
print list(summarize(data))

===

A toto už háže chybu

from itertools import groupby
from operator import itemgetter
def summarize(data):
get_a = itemgetter('a')
get_b = itemgetter('b')
get_c = itemgetter('c')
return (
{'a': val, 'b': sum(map(get_b, group)),'c':valc}
for (val, group,valc)
in groupby(data, key=get_a)
)
data= 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
print list(summarize(data))


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cvičení z formátování řetězce

2013-03-05 Tema obsahu Petr Přikryl
(Našel jsem to pozdě :)

 Od: Vladimir Macek

':'.join(re.findall('..?', a))

Ten otazník asi není nutný. Pokud by se toho dělalo víc,
pak je lepší použít kompilovaný regulární výraz. Podle 
mého názoru je to pak ještě trochu čitelnější. (Kdo se bojí,
použije ještě r'..', ale je to zbytečné :)

import re
rex = re.compile('..')
...
a = abcdefghijkl
':'.join(rex.findall(a))

P.

P.S. Teď ještě dobrovolníka , který na ta řešení nasadí timeit ;)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cvičení z formátování řetězce

2013-03-05 Tema obsahu Petr Přikryl
Jo vlastně. To je pravda. Nějak se mi do toho uvažování vnutila
ethernetová adresa, kde je to sudý počet hexa cifer. :)

__
 Od: rajcze raj...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 05.03.2013 15:07
 Předmět: Re: [python]cvičení z formátování řetězce

Jen tak pro uplnost - ten otaznik nutny je, schvalne si to zkus pustit
na retezci s lichym poctem znaku ;)

J.

2013/3/5 Petr Přikryl prik...@atlas.cz:
 (Našel jsem to pozdě :)

 Od: Vladimir Macek

':'.join(re.findall('..?', a))

 Ten otazník asi není nutný. Pokud by se toho dělalo víc,
 pak je lepší použít kompilovaný regulární výraz. Podle
 mého názoru je to pak ještě trochu čitelnější. (Kdo se bojí,
 použije ještě r'..', ale je to zbytečné :)

 import re
 rex = re.compile('..')
 ...
 a = abcdefghijkl
 ':'.join(rex.findall(a))

 P.

 P.S. Teď ještě dobrovolníka , který na ta řešení nasadí timeit ;)
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



-- 
Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] otázka ohladom mojho štýlu písania v OOP

2013-01-15 Tema obsahu Petr Přikryl
 Od: Roman Beno romanbeno...@gmail.com
...
Čo sa týka Raiczeho kritiky, podobný systém s odkazom na metódy jednej
konkrétnej instancie je uplatnený v module random.

V modulu random má ale vytvoření instance _inst jeden důležitý důvod.
Instance použije při své inicializaci aktuální čas jako zárodek pro 
generování náhodných čísel -- ale jen když se neudá explicitně. 
Zárodek (seed) se používá v různých metodách instance.

Je to tam zkrátka složitější a někdy je nutné pracovat se stejným
zárodkem, aby byla posloupnost náhodných čísel opakovatelná :)

Instance tam slouží k uložení toho zárodku. Při prostém používání
nás detaily nezajímají a místo instance a jejích metod nás zajímají
funkce (jako v matematice). Jejich implementace (jako metod interní
instance) může být uživatelem chápána jako implementační detail.

Obecně, práce s instancemi tříd je výhodná jen v situaci, kdy 
instance udržuje nějaký vnitřní stav, tj. kdy má smysl uvažovat
o metodách jen v situaci, kdy by to bez toho vnitřního stavu 
komplikovalo rozhraní volané funkčnosti.

if __name__=__main__:
# čo robit s instaciou(ami) po spustení z termu..


Z obecného pohledu v této části nelze mluvit o instancích
tříd protože žádné nemusí existovat. Python není čistě objektově
orientovaný a umožňuje (podobně jako C++) přirozenější
přístup k výstavbě programu.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Spouštění Pythonovských programů ve Windows (Re: program na pozadí Windows)

2013-01-09 Tema obsahu Petr Přikryl
Pro Windows existuje ještě jedna nová možnost. S Python 3.3 
byl zaveden Python Launcher for Windows 
(http://docs.python.org/3/whatsnew/3.3.html#pep-397-python-launcher-for-windows),
který do Windows propašovává další kousek funkčnosti známý z unixových
OS.

Jsou to dva programy py.exe a pyw.exe, které se (při instalaci Python 3.3 samy)
nainstalují do systémového adresáře Windows, takže jsou v cestě. Na prvním
řádku skriptu hledají #! a podle jeho obsahu spustí příslušnou verzi Pythonu.
Kromě toho se pro Windows zaregistrují asociace na přípony .py a .pyw, které
vedou ke spuštění py.exe (verze s cmd oknem) respektive pyw.exe (verze bez
cmd okna).

Při uvedení #! řádku na začátku (zjednodušeně #!python2 nebo #!python2)
a použití požadované přípony souboru (py nebo pyw) se pak při odklepnutí 
pythonovského souboru spustí ta správná verze a varianta Pythonovského 
interpretu. Z cmd okna můžu taky explicitně spouštět py pgm.py nebo pyw 
wxprogram.py.

Nezkoušel jsem to, ale předpokládám, že jsou to celkem jednoduché
programy a jde to přenést odjinud prostým okopírováním.

Všem přeji do nového roku jen to dobré a příjemné,

Petr
 
__
 Od: Petr Blahos petrbla...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 10.01.2013 07:53
 Předmět: Re: [python] program na pozadí Windows

Pomohlo by nespouštět to přes python.exe ale pythonw.exe? (pokud to teda byla 
otázka na python...) Aha, vlastně aby se to nespustilo v konzoli,tak je potřeba 
souštět pythonw.--Petr

2013/1/9 jirka.vejra...@gmail.com
Pokus mi pamet slouzi dobre, tak jedna moznost je spustit program tak, aby mel 
pouze ikonku v tray (vpravo dole). Pokud by mel byt uplne schovany a bezet i 
kdyz neni nikdo prihlaseny, je potreba ho zaregistrovat jako sluzbu.

  Ale mozna se pletu, uz je to dlouho co jsem neco podobneho resil.

   Jirka

--Original Message--
From: Ing. Vladislav Ludík
Sender: Python
To: Konference PyCZ
ReplyTo: Konference PyCZ
Subject: [python] program na pozadí Windows
Sent: Jan 9, 2013 19:53

Zdravím,

chci aby program běžel na pozadí i bez otevřeného okna pod Windows.

Existuje něco jako je nohup v Linuxu i ve Windows ?

Díky

Vláďa
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

-- 
_
http://sites.google.com/site/petrsstuff/

--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] OT: Sháním lidi?==?UTF-8?Q? k českému překladu ?==?UTF-8?Q?gitbook na git-scm.com

2012-09-14 Tema obsahu Petr Přikryl
Ahoj všichni,

Tohle jde trochu mimo Python, ale věřím tomu, že tak rozumní lidé, 
kteří si vybrali jazyk Python a používají ho téměř jako svou mateřštinu, 
mohou mít blízko i k skvělému nástroji jménem Git.

Mám takovou ideu (která možná zapadne pro nedostatek zájmu),
že by se k dokončení nebo oprášení částečného překladu 

http://git-scm.com/book/cs

využil originální text + nástroj pro podporu překladu OmegaT (free)
+ překlad knihy http://knihy.nic.cz/files/nic/edice/scott_chacon_pro_git.pdf
(licence to umožňuje).

Kontaktoval jsem autora částečného překladu, zkontaktuji případně
Scotta Chancona (autora originálu) a případně ještě překladatele
do jiných jazyků.

Mým cílem je vytvořit živý projekt, který by umožnil další vývoj
českého překladu na stránkách http://git-scm.com/

Bude to práce zadarmo, zato s důrazem na kvalitu :)

Pokud znáte nějaké lepší fórum, kde by se kroky směřující 
k uvedenému cíli daly lépe realizovat, případně další nosné nápady,
sem s tím.

Mějte se fajn,
Petr Přikryl
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Zji?==?UTF-8?Q?štění názvu souboru

2012-08-02 Tema obsahu Petr Přikryl
Zkus __file__. Příklad -- soubor a.pokus

==
print __name__
print __file__
==

a spusť to nejdříve přes

python a.pokus. Mělo by to vypsat:

__main__
a.pokus

S py2exe nemám zkušenosti, takže netuším, jestli to tam procpeš.

Petr

__
 Od: Martin lisi...@seznam.cz
 Komu: python@py.cz
 Datum: 02.08.2012 00:01
 Předmět: [python] Zjištění názvu souboru

Dobrý den,

Nějak se mi nepodařilo najít odpověd na nasledující problém. Zde je situace:

Kliknu ve 32 bitovém Windows Vista Premium na soubor (ne .py ani .exe) 
textového charakteru, který bude mít mnou zadanou  nestandardní příponu a pro 
tenhle typ souboru nadefinuji Windowsu, aby se po kliknutí na něj spustil můj 
program zkonvertován pomocí py2exe. Program se spustí a já potřebuji v daném 
programu vědět název souboru, kterým byl spuštěn, aniž by ho daný program 
dopředu znal. Jak toho docílím? Používám Python verzi 2.7.2.

Děkuji za odpověď

Martin
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] file.close

2012-05-09 Tema obsahu Petr Přikryl

A tím FreeCommanderem jsi tam lezl před tím nebo až potom?
Jakým programem/komponentou se k tomu souboru nebo adresáři
přistupovalo před tím mazáním? V některých případech některé
typicky používané komponenty (např. ADO nebo jiné databázové
vrstvy) používají cache.  I po uzavření si něco mohou chvíli držet.
Setkal jsem se s tím u ADO.  Dá se to potlačit, ale musí se hledat jak.
 
P.
__
Od: zu1234 
Komu: Konference PyCZ 
Datum: 09.05.2012 08:21

Předmět: Re: [python] file.close


Ale tím to asi není: adresář sem kontroloval pomocí FreeCommaneru
a používám absolutní názvy souborů, takže nemám důvod se do adresáře 
přepínat.


Ale díky za myšlenku.

Zatím se domnívám, že je to nějaká prodleva windows-ů, kterou pořešil 
sleep(1).


ZU


Dne 8.5.2012 14:24, Petr Přikryl napsal(a):

Pokud se do něj díváš přes konzoli (cmd), pak adresář, který je pracovním

adresářem konzole brání smazání adresáře -- i když je prázdný. Asi to platí

i v případě, kdy si pracovní adresář přepneš do toho dočasného (aniž by

ses tam koukal přes cmd).

P.

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] file.close

2012-05-08 Tema obsahu Petr Přikryl

Pokud se do něj díváš přes konzoli (cmd), pak adresář, který je pracovním
adresářem konzole brání smazání adresáře -- i když je prázdný. Asi to platí
i v případě, kdy si pracovní adresář přepneš do toho dočasného (aniž by
ses tam koukal přes cmd).
 
P.
__
Od: zu1234 
Komu: Konference PyCZ 
Datum: 02.05.2012 16:11

Předmět: Re: [python] file.close

    5) Nakonec jsem musel před rušením dočasného adresáře ponechat
    time.sleep(1). Jinak nastávala chyba: adresář není prázdný


Možná už není potřeba do toho nějak šťourat, ale tohle je divný. Jak
přesně se ten dočasný adresář ruší (maže)?


Ruším pomocí shutil.rmtree(...) .
Když se do něj podívám je samozřejmě prázdný.
Pro mne to má jedno vysvětlení: jsou to windowsy.

ZU
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Unicode/ne-unicode problem

2012-05-02 Tema obsahu Petr Přikryl
Nejjednodušší je to převést nejdříve do Unicode a druhým krokem do požadovaného
kódování. Tohle jsem dělal pod Windows na konzoli, která používá cp852:

 u = uě š č ř
 u
u'\u011b \u0161 \u010d \u0159'
 s = u.encode('utf-8')
 s
'\xc4\x9b \xc5\xa1 \xc4\x8d \xc5\x99'
 u2 = s.decode('utf-8')
 u2
u'\u011b \u0161 \u010d \u0159'
 u3 = unicode(s, 'utf-8')
 u3
u'\u011b \u0161 \u010d \u0159'
 sLatin2 = u.encode('iso8859_2')
 sLatin2
'\xec \xb9 \xe8 \xf8'

.decode() nebo unicode() to převede na Unicode řetězec.
.encode() to převede na požadované kódování.

V názvu kódování má být oficiálně znak podtržení, ale 
implementace toleruje i uvedení velkých písmen a pomlček.

Měj se,
   Petr

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 27.04.2012 10:35
 Předmět: [python] Unicode/ne-unicode problem

Dobrý den,

potřeboval bych dostat z binárních dat utf8 na vstupu normální neunicodový 
výstup, ale nějak mi to nejde.

Vstup: znaky ě š č ř v utf8 již v binární formě, systém je v iso8859-2

Čekám že z toho nějak dostanu ě š č ř ale pořád nic. Jak mu říct, že 'Ă˝ 
á Ă­ Ă.' je už v utf8?

Děkuji, JL.

 a='Ă˝ á Ă­ Ă.'
 A=unicode(a,'iso8859-2')
 print a
Ă˝ á Ă­ Ă.
 A=unicode(a,'utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data

 A.encode('iso8859-2')
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'

 a.encode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 18, in 
encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: 
ordinal not in range(128)


 A.decode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 22, in 
decode
return codecs.charmap_decode(input,errors,decoding_map)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: 
ordinal not in range(128)
 a.decode('iso8859-2')
u'\u0102\u02dd \u0102\u02c7 \u0102\xad \u0102.'
 a.decode('utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Unicode/ne-unicode problem

2012-05-02 Tema obsahu Petr Přikryl
Ten nečitelný řetězec je zapsaný ve zdrojovém textu, nebo je načtený ze souboru?
Když mám v proměnné UTF-8 bajty, tak musím udělat .decode() nebo unicode(),
ale jako parametr musím uvést to 'utf-8'.

Posloupnost bajtů v kódovaní UTF-8 je jednou z možných reprezentací Unicode 
řetězce.  Vznikla tedy zakódováním (například u.encode('utf-8')) unicodového 
řetězce.
Když z toho chci dostat zpět Unicode řetězec, musím provést dekódování,
takže u = s.decode('utf-8') nebo u = unicode(s, 'utf-8').

Je možné, že je ta posloupnost bajtů porušená, pak to může řvát, že neví co s 
tím.
Pošli sem, jak vypadá repr(a) (pokud je to pro Python 2).

Ptej se dál, ono se to vyjasní.

P.

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 27.04.2012 10:35
 Předmět: [python] Unicode/ne-unicode problem

Dobrý den,

potřeboval bych dostat z binárních dat utf8 na vstupu normální neunicodový 
výstup, ale nějak mi to nejde.

Vstup: znaky ě š č ř v utf8 již v binární formě, systém je v iso8859-2

Čekám že z toho nějak dostanu ě š č ř ale pořád nic. Jak mu říct, že 'Ă˝ 
á Ă­ Ă.' je už v utf8?

Děkuji, JL.

 a='Ă˝ á Ă­ Ă.'
 A=unicode(a,'iso8859-2')
 print a
Ă˝ á Ă­ Ă.
 A=unicode(a,'utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data

 A.encode('iso8859-2')
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'

 a.encode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 18, in 
encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: 
ordinal not in range(128)


 A.decode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 22, in 
decode
return codecs.charmap_decode(input,errors,decoding_map)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: 
ordinal not in range(128)
 a.decode('iso8859-2')
u'\u0102\u02dd \u0102\u02c7 \u0102\xad \u0102.'
 a.decode('utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Unicode/ne-unicode problem

2012-05-02 Tema obsahu Petr Přikryl
Já vidím tohle:

 rr = '\\xc3\\xbd \\xc3\\xb7 \\xc3\\xad \\xc3.'
 a = eval(rr)
 a
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'
 u = a.decode('utf-8')
Traceback (most recent call last):
  File stdin, line 1, in module
  File c:\Python27\lib\encodings\utf_8.py, line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 9: invalid 
continuation byte


To rr je okopírované tvoje repr.  Pomocí eval() to převedu na hodnotu a. Pak 
volám
a.decode('utf-8') a ono to jinými slovy říká, že to není v utf-8.

P.
__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 02.05.2012 11:52
 Předmět: Re: [python] Unicode/ne-unicode problem

Je to proměnná, kde obsah byl získaný ze streamu dat.

 a='Ă˝ á Ă­ Ă.'
 repr(a)
'\\xc3\\xbd \\xc3\\xb7 \\xc3\\xad \\xc3.'

Dík, JL.


- Původní zpráva - 
Od: Petr Přikryl prik...@atlas.cz


Ten nečitelný řetězec je zapsaný ve zdrojovém textu, nebo je načtený ze 
souboru?
Když mám v proměnné UTF-8 bajty, tak musím udělat .decode() nebo unicode(),
ale jako parametr musím uvést to 'utf-8'.

Posloupnost bajtů v kódovaní UTF-8 je jednou z možných reprezentací Unicode
řetězce.  Vznikla tedy zakódováním (například u.encode('utf-8')) unicodového 
řetězce.
Když z toho chci dostat zpět Unicode řetězec, musím provést dekódování,
takže u = s.decode('utf-8') nebo u = unicode(s, 'utf-8').

Je možné, že je ta posloupnost bajtů porušená, pak to může řvát, že neví co 
s tím.
Pošli sem, jak vypadá repr(a) (pokud je to pro Python 2).

Ptej se dál, ono se to vyjasní.

P.

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 27.04.2012 10:35
 Předmět: [python] Unicode/ne-unicode problem

Dobrý den,

potřeboval bych dostat z binárních dat utf8 na vstupu normální neunicodový
výstup, ale nějak mi to nejde.

Vstup: znaky ě š č ř v utf8 již v binární formě, systém je v iso8859-2

Čekám že z toho nějak dostanu ě š č ř ale pořád nic. Jak mu říct, že 'Ă˝
á Ă­ Ă.' je už v utf8?

Děkuji, JL.

 a='Ă˝ á Ă­ Ă.'
 A=unicode(a,'iso8859-2')
 print a
Ă˝ á Ă­ Ă.
 A=unicode(a,'utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10:
invalid data

 A.encode('iso8859-2')
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'

 a.encode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 18, in
encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0:
ordinal not in range(128)


 A.decode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 22, in
decode
return codecs.charmap_decode(input,errors,decoding_map)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1:
ordinal not in range(128)
 a.decode('iso8859-2')
u'\u0102\u02dd \u0102\u02c7 \u0102\xad \u0102.'
 a.decode('utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10:
invalid data



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python 

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] lite?==?UTF-8?Q?ratúra

2012-04-24 Tema obsahu Petr Přikryl
Každému pasuje něco jiného. Knížka se dá číst ve vlaku i bez notebooku.
Čtečka typu Kindle (nebo něco podobného) může být dobrým kompromisem.
Alespoň občasné připojení na Internet je asi nevyhnutelné.

A taky si musím přihodit.. :) http://diveintopython3.py.cz/

Mějte se všichni fajn,
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Dotaz na vi(m)kingy -- podpora pro Python

2012-04-24 Tema obsahu Petr Přikryl

Díky všem za vim tipy ;)

P.
__
...
Mě se docela líbí propojení Vim s interpretem. Je na to hezký plugin pro
iPython: https://github.com/ivanov/vim-ipython

Ještě je zajímavý plugin TagList. Díky němu se dá hezky poskočit na
začátek definice funkcí. Na root.cz vyšel seriál docela hezký seriál:
http://www.root.cz/clanky/vim-na-plny-vykon-vimrc/#ic=articles-relatedicc=nej-vim-pluginy-12064
http://www.root.cz/clanky/nej-vim-pluginy/
a o ještě Pavel Satrapa:
http://www.root.cz/clanky/jak-si-prizpusobit-vim/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Dotaz na vi(m)kingy -- podpora pro Python

2012-04-18 Tema obsahu Petr Přikryl
Díky za info. Uložil jsem to do $HOME/.vimrc (tedy pod Windows do %HOME%\.vimrc.

Líbí se mi zvýrazňování koncových mezer. Ale současně se tím přebilo 
zvýrazňování
syntaxe. Jak to udělat, aby to fungovalo současně?

Petr

__
 Od: rajcze raj...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2012 10:19
 Předmět: Re: [python] Dotaz na vi(m)kingy -- podpora pro Python

Jako dobry zaklad doporucuju tohle:

setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal expandtab

setlocal nowrap
setlocal formatoptions+=c

highlight BadWhitespace ctermbg=red guibg=red
syn match BadWhitespace /^\t\+/
syn match BadWhitespace /\s\+$/


A pak samozrejme pythoncomplete
http://www.vim.org/scripts/script.php?script_id=1542

J.

2012/4/16 Petr Přikryl prik...@atlas.cz:
 Ahoj všichni,

 Po velmi dlouhé době bych si rád osvěžil znalosti editoru vi(m).
 Vím o Statrapově tutorialu, kdysi jsem vi používal...
 Používáte nějaké specifické doplňky/nastavení pro editaci
 pythonovských zdrojáků?

 Dík za odkazy.

 Mějte se fajn,
    Petr
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



-- 
Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dotaz na vi(m)kingy -- podpora pro Python

2012-04-16 Tema obsahu Petr Přikryl
Ahoj všichni,

Po velmi dlouhé době bych si rád osvěžil znalosti editoru vi(m).
Vím o Statrapově tutorialu, kdysi jsem vi používal...
Používáte nějaké specifické doplňky/nastavení pro editaci 
pythonovských zdrojáků?

Dík za odkazy.

Mějte se fajn,
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Pyton 3 cesky -- nová verze na http://diveintopython3.py.cz/

2012-03-27 Tema obsahu Petr Přikryl

Zdravím všechny, 

Děkuji zu1234 za všímavé oko. Opravil jsem níže zmíněný odkaz
a na úvodní stránku jsem doplnil informaci o Pilgrimově informační
sebevraždě. Kromě toho jsem zveřejnil alternativní PDF a obsah
v podobě jednoho velkého HTML (pro vyhledávání). Vše najdete
popsané na úvodní stránce.

Našel jsem taky řadu chyb v HTML značkování odkazů (vznikly
při technickém zpracování původního textu).

Při generování toho velkého HTML vznikají nějaké chyby, takže
to PDF taky není perfektní. Nefunguje například číslování kapitol
(zatím jsem neměl čas to opravit).

Pokud narazíte na nějakou chybu (i drobnou), budu rád, když
mi dáte vědět. Pokud máte někdo zkušenosti s validací HTML5,
budu rád, když to otestujete. Nějaké značkovací chyby tam 
ještě budou.

Mějte se fajn,
   Petr


 Od: zu1234
 Komu: Konference PyCZ python@py.cz
 Datum: 23.03.2012 10:58
 Předmět: Re: [python] Dive Into Pyton 3 cesky -- opraveno, sbiram chyby...

Hledal jsem chardet
a narazil jsem na stránce
http://diveintopython3.py.cz/case-study-porting-chardet-to-python-3.html

na nefunkční odkaz
Knihovnu jsem přenesl do Pythonu 2
-- http://chardet.feedparser.org/

a posléze i na informaci o internetové sebevraždě autora.

Myslím by nebylo marné oba tyto jevy alespoň okomentovat
(například v nějaké předmluvě).

Oba spolu souvisí, ale jeden z nich se nestává každý den.

ZU
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Python 3 česky -- chyby můžete zapsat na github

2012-03-27 Tema obsahu Petr Přikryl

Pokud narazíte na problém, můžete k jeho nahlášení využít i nástroje github 
https://github.com/pepr/diveintopython3cz/issues

Je to český překlad a české problémy, proto pište česky (dva problémy jsem 
tam už zaznamenal). Pokud neumíte anglicky, pak musíte nejdříve stisknout
tlačítko New issue (nový problém) a dál už by to mělo být jasné.

Mám s github jen malé zkušenosti, proto nevím, jestli byste si tam
museli zřídit účet, jak moc to je či není pro vás přijatelné, nebo jestli 
můžete problém ohlásit anonymně. Proto neodmítám ani jiné způsoby
komunikace, tj. přes tuto diskusní skupinu nebo přímý mail.

Mějte se fajn,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Dive Into Pyton 3 cesky -- opraveno, sbiram chyby...

2012-02-29 Tema obsahu Petr Přikryl

zu1234 napsal...

Při prohlížení HTML verze mi poněkud vadila velká výška řádků.
Hlavně se tím (na mém (normálně) malém) monitoru znehodnocuje
výborné synchronní označování řádků programu a odpovídajícího komentáře.
Pořešil jsem to tak, že jsem si ve své lokální kopii upravil css definice.

Když kliknete dole na Mark Pilgrim, dostanete se na stránku
O knize http://diveintopython3.py.cz/about.html. Když i na této 
stránce kliknete dole na Mark Pilgrim, dostanete se na stránku
Tiráž http://diveintopython3.py.cz/colophon.html
... a na ní se dočtete:

Nikdy nepodceňujte hloubky, do kterých se stále něco odkládající autor noří.

Nyní již od Internetu odstřižený, případně pod neznámým pseudonymem
se připojující autor je zjevně perfekcionista -- i když to z lehkého stylu
psaní nemusí být na první pohled tak patrné. Určitě má nastudované
přinejmenším základy typografie. K jejich nejzákladnějším základům
patří i volba písma, řádkování, stylu všeho možného. Abych to zkrátil...

Věřím, že někdy se zhuštěnější písmo může hodit, ale zrovna tyhle věci
nebudu upravovat pro celý zveřejněný překlad knihy.

Mimochodem, okouzlen výkladem o generátorové notaci slovníku jsem se ji 
jal zkoušet. Ale zapomněl jsem že jedu na verzi 2.5 :-)

Vřele doporučuji přejít na poslední verze Pythonu, tedy na 2.7.2 a na 3.2.2
http://www.python.org/download/

Python 2.7 je velmi dobře použitelný všude tam, kde jste použil Python 2.5.
Navíc má implementovánu většinu věcí z Pythonu 3, které se daly přenést.
Viz například:

c:\python
Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on 
win32
Type help, copyright, credits or license for more information.
 d = { k:k*3 for k in xrange(5) }
 d
{0: 0, 1: 3, 2: 6, 3: 9, 4: 12}


Mějte se fajn a Pythonu...

 (', '.join(['zdar'] * 3) + '!').capitalize()
'Zdar, zdar, zdar!'


Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Pyton 3 cesky -- hledám spolupracovníky na generování LaTeXu z originálu, různých ebook forem...

2012-02-29 Tema obsahu Petr Přikryl

zu1234 ... zu1...@seznam.cz
Jsem asi jiného ročníku než většina přítomných. Dnes frčí hecker a 
anonymous. Za mojeho mládí by se řeklo partizán :-))

Lidi jsou již několik tisíc let stejní. Mění se jen technologie.
Věk nerozhoduje ;)

 Věřím, že někdy se zhuštěnější písmo může hodit, ale zrovna tyhle věci
 nebudu upravovat pro celý zveřejněný překlad knihy.

To jsem ani neměl na mysli. Jen pokud by to někomu vadilo, tak že to jde 
upravit.

Nebudu to upravovat v hlavním vzhledu dokumentu, ale pořád je tu 
možnost, že se může generovat alternativní podoba. Příkladem je 
už teď generované PDF http://diveintopython3.py.cz/PonormeSeDoPythonu3pdf.zip,
které vzniklo s využitím nástrojů, který použil autor originálu pro vznik 
tištěné podoby
originálu. Je to ale forma PDF, která nebyla přijata příznivě, protože
kniha potřebuje něco jiného, než vytištění HTML. Ale mám takovou 
představu, že by se tím někdo mohl dál zabývat. Proto jsem to celé šoupnul
na github. 

Generování solidních alternativ základní formy dokumentu by mě bavilo
samotného, ale nemám na to teď moc času. Nějaké dřívější zkušenosti
a poznatky ale mám, takže můžu být nápomocný při sdělování svých 
představ nebo při nějaké pomoci či řízení prací.

Jednou z generovaných forem by mohla být zhuštěná verze pro malé
displeje, případně i pro různé chytré telefony a tak. Chce to ale někoho,
kdo to vyzkouší nejdřív šolichat trochu ručně, k něčemu dospěje, probereme
to tady v ovzduší konstruktivní kritiky, aby se to udělalo pořádně.

Jako další formu bych rád viděl převod do LaTeX nebo jiné podoby 
TeX, protože poskytuje vynikající možnosti sazby a také následnou
možnost vygenerování kvalitního klikacího a barevného PDF. Ale už
jsem z toho trochu vypadl vytrousil jsem dřívější zkušenosti. Pokud
by se tady někdo našel, ozvěte se. Pro zájemce budu nápomocen
i se zprovozněním Git (systém pro správu verzí, ve kterém je současný
stav zachycen i s poslední historií).
 
Na https://github.com/pepr/diveintopython3cz by se to celé soustředilo
a mohli by se přidávat další. Jen bych se dovolil prohlásit se za koordinátora,
aby se to celé nerozsypalo. Přece jen už jsem do toho vložil dost práce.

S pozdravem,
  Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Pyton 3 cesky -- opraveno, sbiram chyby...

2012-02-28 Tema obsahu Petr Přikryl

Ahoj všichni,

Na http://diveintopython3.py.cz/ najdete několik minut/hodin starou verzi 
překladu Dive Into Python 3.

- Všechny HTML soubory byly přeformátovány podle originálu, takže by tím měly 
být opraveny chyby v zalamování příkladů.
- Přibyla příloha E, ve které najdete seznam posledních změn a úprav.
- Přeneseny byly všechny opravy a úpravy, které Mark Pilgrim provedl před 
informační sebevraždou.
- Byly změněny odkazy na originální webovou podobu.

Vše je k dispozici v podobě Git archivu na 
https://p...@github.com/pepr/diveintopython3cz.git
Kromě vlastních HTML dokumentů tam najdete i pomocné skripty -- částečně 
převzaté od Marka Pilgrima, částečně upravené nebo vytvořené.

Nahrubo je tam konfigurace pro generování alternativní PDF podoby, kterou si 
můžete stáhnout
jako http://diveintopython3.py.cz/PonormeSeDoPythonu3pdf.zip 

Čtěte, hledejte chyby, posílejte náměty na další zpracování. Ale hlavně...

... mějte se fajn,
   Petr


P.S. Pokud má někdo zkušenosti s automatizovaným generováním elektronické 
a tištěné podoby  z HTML 5 (do PDF nebo do jiných formátů, přes TeX nebo 
jinak), ozvěte se mi.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Problém s českými znaky v cgi scriptu

2012-02-28 Tema obsahu Petr Přikryl

Tomáš Kácel napsal...
[...] Myslel jsem, že python3 funguje na utf-8 a neměl by mít s
čekými znaky problém, stejně tak prohlížeč je nastaven na utf-8.

Python 3 pracuje s unicode řetězci. UTF-8 je jedno z možných
kódování unicode řetězců, když je potřeba je za fyzicky zaznamenat
a nepracovat s nimi jako s posloupnostmi znaků v abstraktním 
smyslu. To znamená, že před odeslání mimo vnitřní paměť
pythonovského procesu musí dojít k převodu na posloupnost
bajtů (například metodou .encode()). Funkce print() je ale napojená
na výstupní stream (standardně sys.stdout), který rovněž používá 
nějaké kódování řetězců (v závislosti na OS a jeho konfiguraci).
Funkce print() se ale sama snaží převést unicode řetězec do 
onoho (skrytého) výstupního kódování.

Z těchto důvodů není ke generování výstupního HTML souboru
vhodné používat funkci print(). Lepší je otevřít výstupní textový
soubor f pro kódování UTF-8 a zapisovat do něj metodou 
f.write(s)

Doporučuji si přečíst http://diveintopython3.py.cz/strings.html
a http://diveintopython3.py.cz/files.html

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] diveintopython3.py.cz -- zahájeny opravy a úpravy

2012-02-22 Tema obsahu Petr Přikryl

Zdravím všechny,

 zu1234 napsal(a)
Nevíte proč stránky http://diveintopython3.py.cz/; neumí písmeno 'ě'?

Zatím se to nevyřešilo, ale v příslušném zip 
http://diveintopython3.py.cz/PonormeSeDoPythonu3-html.zip
najdete verzi, kde jsem začal s oprašováním:

2012-02-21 U HTML souborů byl odstraněn BOM (tj. teď je UTF-8 bez BOM)
2012-02-21 Odkazy na originál změněny na nové
2012-02-22 about.html naformátováno podle originálu
2012-02-22 Pojem alfametika nebo alfametická hádanka změněn na algebrogram
2012-02-22 advanced-iterators.html - upraveno formátování podle originálu
2012-02-22 blank.html - formátování upraveno podle originálu

Pokud někdo narazíte na chyby, špatné zalomení, cokoliv, dejte mi vědět.
Budu to postupně zapracovávat.

Mějte se fajn,
Petr Přikryl
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] diveintopython3.py.cz -- zahájeny opravy a úpravy

2012-02-22 Tema obsahu Petr Přikryl

Díky ViNiLovi už by to mělo zase fungovat.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] špatné znaky v http://diveintopython3.py.cz/

2012-02-21 Tema obsahu Petr Přikryl

Zkoušel jsem to tam nahrát znovu. Asi je to tam uložené dobře, ale zprasí
se to někde po cestě ven (i když to kopíruji přes WebDAV).

P.

__
 Od: zu1234 zu1...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 21.02.2012 10:50
 Předmět: [python] špatné znaky v http://diveintopython3.py.cz/

Nevíte proč stránky http://diveintopython3.py.cz/; neumí písmeno 'ě'?

Není to škoda?

Přitom v ZIP archivu
http://diveintopython3.py.cz/PonormeSeDoPythonu3-html.zip
je to OK.

ZU
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Informace o parcele -- Polívkova 26

2011-11-01 Tema obsahu Petr Přikryl

A dopr... Omlouvám se. To jsem fakt nechtěl :)

Pokud to někdo můžete smazat, tak to odstraňte.

Díky za pochopení,
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] dotaz na webovou aplikaci v pythonu

2011-09-29 Tema obsahu Petr Přikryl

Dive Into Python 3 = Ponořme se do Pythonu 3
http://diveintopython3.py.cz/
 
On zas ten Python 3 pro naučení se tak odlišný není. Rozdíly rozhodně
nejsou tak velké, aby ses té publikaci vyhýbal obloukem -- ať už se pak
rozhodneš pro Django nebo něco jiného. Co se týká práce s knížkami,
bude vhodné pracovat v Unicode (týká se to i databáze). V Python 3 se s Unicode
řetězci pracuje přece jen trochu přirozeněji. Unicode a souvislosti s Pythonem
je věnována kapitola 4. Řetězce (http://diveintopython3.py.cz/strings.html).
 
 
Python 2.7 se na druhé straně svými vlastnostmi snaží Pythonu 3 přibližovat.
Styl práce tedy nebude tolik odlišný. Definitivní rozhodnutí pak může padnout
podle toho, co bude podporovat zvolený framework.
 
V závislosti na tom, jak se projekt bude vyvíjet, by možná stálo za to dohodnout
se s vedoucím práce, že bys jako součást projektu zařadil i srovnání řešení
v Python 2.7 a Python 3.x. Přepisu z Python 2 do Python 3 je v Dive Into Python 
3
věnována příloha A 
(http://diveintopython3.py.cz/porting-code-to-python-3-with-2to3.html).
 
Můžeš taky zkusit pracovat podle té knížky a zkoušet všechno v Pythonu 2.7.
Mělo by to být poměrně snadné. Ale je potřeba opravdu NĚJAK začít.
 
Ono se taky může stát, že bude za chvíli venku Django pro Python 3. Takže 
opravdu
doporučuji začít s Pythonem, osahat si ho na příkladech a menších částech
projektu (ověření principiálních možností a schopností tebe jako programátora
je využít). Teprve pak bych přistoupil k rozhodnutí, v čem to přesně napsat. Při
tom rozhodování musíš mít jasno, co vlastně budeš dělat. Principy řešení
projektu už musíš mít v hlavě a pokusný kód na harddisku ;).
 
Ještě jednou to zdůrazním: Poslední Python 3 není principiálně jiný, než Python 
2.7.

Petr
__
Od: Vlastimil Slinták 
Komu: Konference PyCZ 
Datum: 29.09.2011 12:06

Předmět: Re: [python] dotaz na webovou aplikaci v pythonu


Pardon, ten odkaz na Dive into Python beru zpět. Ta kniha je totiž o Pythonu 3, 
který není zpětně kompatibilní s verzemi 2.X. Navíc Django také neběží pod 
Python 3. Takže na to pozor.

On 29. 9. 2011, at 11:57, Vlastimil Slinták wrote:



On 29. 9. 2011, at 11:27, Tomáš Kácel wrote:


Dobrý den,
děkuji za odpovědi a omlouvám se za to, jaké chyby jsem napsal v
předchozím textu.Byla skoro jedna hodina ráno a čeština nebyla nikdy
můj kamarád(určitě najdete nedostatky i v tomto textu) a také jsem z
bakalářské práce docela vystresovaný, protože jsem kompletní včerejší
den brouzdal po internetu a četl knížku o pythonu a večer to na mě
dolehlo.


Není třeba být vystresovaný. Vždyť je skoro začátek zimního semestru a 
bakalářka se odevzdává na konci letního, ne? Pokud se na to nevykašleš a budeš 
případné problémy konzultovat s vedoucím práce, tak není důvod aby jsi ji 
nenapsal a neobhájit.



K úrovni bakalářské práce(FIMU) bych chtěl říci, že jsem napsal zadání
opravdu jednoduše oproti originálnálu.Samozdřejmě, že zde databáze být
musí(protože výsledky které najdu například na knihi.cz(to je opravdu
s i :-D) se budou moci po dotazu uložit do databáze, aby když někdo
zadá stejnou knihu tak to znovu nehledalo recenzi a hodnocení.Dále by
zde moli být další věci jako zjistit jestli je kniha dostupná ve
fakultni knihovně atd. Mám vytvořit vlatní analýzu a návrh
problému(vyhledávač hodnocení knih)  a posléze to co navrhnu
naprogramovat.Raději se držím opravdu při zemi, abych si nevymyslel
nějaké grafy a statistiky a potom bych nenaprogramoval ani ťuk. A nyní
jsem dost zmaten jestli mám Django začít studovat nebo ne protože
názory se zde dosti liší.


Jestli Django použít či ne: Za sebe můžu říct, že s Djangem jsem se učil i 
Python. Ale udělej si názor sám. Podívej se na tutoriál, zkus si napsat 
jednoduchou web aplikaci a uvidíš.

 https://docs.djangoproject.com/en/1.3/intro/tutorial01/

Navíc dokumentace Djanga je opravdu dobrá a na webu najdeš spoustu projektů, ze 
kterých se také můžeš hodně naučit.

Syntax Pythonu pochytíš rychle a zbytek najdeš třeba v Dive into Python 
(http://www.root.cz/knihy/dive-into-python-3/ myslím, že je i český překlad od 
CZ.NIC).

Vlastik


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Py 3.2.1 final ?

2011-07-07 Tema obsahu Petr Přikryl

 Od: Tomix to...@tiscali..

Je někde k mání? Měla vyjít 19.6. a kde nic tu nic. :-(

Nevím, kde se říkalo, že 19. 6. měla vyjít finální 3.2.1. Aktuální 
informace je, že má vyjít 10. 7. Dne 2. 7. vyšel 3.2.1rc2.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] hash objektu, kontrola aktuálnosti dat v databázi

2011-06-20 Tema obsahu Petr Přikryl

Interní hash(x) jen volá metodu příslušného objektu x.__hash__() a jednou
z jejích priorit je nalezení místa v dict(). Ale v dict() se s konflikty musí 
celkem
počítat, takže kvůli rychlosti nebude moc spolehlivá.  Přidávám se k Jirkovi
Vejražkovi a k jeho doporučení standardního modulu hashlib.

Problém je ale jinde. Hash (kvalitní varianta) je jen velké číslo, které mi 
pomůže 
odhalit, že je něco stejné. Pokud ale buduji databázi ze stránek obsahujících
jídelníček, pak mi jednotlivých záznamů není celkem k ničemu. Stejně musím
zjistit datum, restauraci... Netvoříš přece databázi, ve které je hash klíčem.
Potřebuješ hledat podle více klíčů.

Hash celé stránky nebo její významné části by mohl pomoci odhalit, jestli
se stránka změnila (pokud to nejde zjistit rozumnějším způsobem). Pokud
tam změna není, nemusím dělat nic. Pokud tam změna je, musím stejně
rozlézt všechny záznamy a porovnat je s databází podle klíčů.

Pokud budu mít nový potenciální objekt databáze (obalený záznam), který má 
stejný
hash jako existující objekt databáze, nedělám nic. Pokud má jiný hash, 
musím ho stejně vložit. Proč bych měl pracně zjišťovat, jestli tam takový
objekt zatím není a teprve pak ho vkládat? Jednodušší je ho tam prostě 
vložit (nahradit případně už existující). Nebo mi nějaká část myšlenky utekla?

Mrkni na možnost zjistit položku HTTP hlavičky Last-Modified
http://diveintopython3.py.cz/http-web-services.html#last-modified


Petr

__
 Od: martin...@...il.com

Stačilo se na to trochu vyspat a už asi vím, jak to provedu.
Ale i tak, budu opravdu vděčný za každou připomínku.

Aby byl jasný kontext, jedná se o parsování obědových meniček z
různých restaurací, sbírám tyhle data, abych k nim pak měl přístup z
aplikace na Androidu.
Každé jedno jídlo je uloženo v databázi ve vlastním záznamu, je u něj
odkaz na restauraci ke které patří, pro jaký den, cena, případně
gramáž, atd. Z těchto jednotlivých dat můžu jednoduše udělat jeden
string a z něho udělat hash a poznačit rovnou do záznamu toho
konkrétního jídla.
Když příjde kontrola dat, znovu se každé jídlo zparsuje, vyrobí se
objekt databázového modelu a když je hotovo, tak si k nim vytáhnu už
existující data z databáze a porovnám hashe, ty které se změnili
nechám být, změněné updatuju, ty co jsou tam navíc vymažu. Nic lepšího
mě nenapadlo :)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Tisk unicode řetězce a tisk seznamu unicode řetězců

2011-06-08 Tema obsahu Petr Přikryl
David Rohleder píše 

[...]

Když už jsme u těch řetězců: jak se udělá raw unicode řetězec, tj.

 interpret neinterpretuje uvnitř? Generuju si latexový dokument a on se
 přirozeně vzteká na:
 
 hlavicka = ur

 documentclass[a4,landscape]{article}
 usepackage{graphicx}
 usepackage[czech]{babel}
 usepackage[utf8]{inputenc}
 begin{document}
 thispagestyle{empty}
 
 
 print hlavicka
 
 SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes

 in position 39-40: truncated u

To je jedno z těch temných zákoutí. Ono se to vzteká už při

hlavicka = ur'usepackage'
print hlavicka

Problém je v tom, že raw-unicode-escape s předponou ur není tak úplně 'raw'.
Interpretují se posloupnosti u -- viz 
http://docs.python.org/tutorial/introduction.html#unicode-strings:


    For experts, there is also a raw mode just like the one 
 for normal strings. You have to prefix the opening quote 
 with ‘ur’ to have Python use the Raw-Unicode-Escape encoding. 
 It will only apply the above u conversion if there is an uneven 
 number of backslashes in front of the small ‘u’.


V tomto případě mě napadá jen ta možnost, že se napřed vyrobí 
raw string (starý, neunicode) a převede se druhým krokem

na unicode:

==
# -*- coding: utf-8 -*-

hlav = r
documentclass[a4,landscape]{article}
usepackage{graphicx}
usepackage[czech]{babel}
usepackage[utf8]{inputenc}
begin{document}
thispagestyle{empty}

print type(hlav)
hlavicka = unicode(hlav, 'utf-8')
print type(hlavicka)
print hlavicka
==

Dá se to trochu vylepšit tím, že si nadefinuješ funkci u(), aby se 
to hezčeji zapislovalo:


==
# -*- coding: utf-8 -*-

def u(raw_string, encoding='utf-8'):
    return unicode(raw_string, encoding)


hlavicka = u(r
documentclass[a4,landscape]{article}
usepackage{graphicx}
usepackage[czech]{babel}
usepackage[utf8]{inputenc}
begin{document}
thispagestyle{empty}
)

print type(hlavicka)
print hlavicka
==

V případě chroupání LaTeXových textů bych ale vážně uvažoval
o použití Python 3 -- i kdyby jen pro tento účel. Tam se z toho
stane jen raw string, který bude automaticky unicode (nový str
se rovná starému typu unicode):

==
# -*- coding: utf-8 -*-

hlavicka = r
documentclass[a4,landscape]{article}
usepackage{graphicx}
usepackage[czech]{babel}
usepackage[utf8]{inputenc}
begin{document}
thispagestyle{empty}


print(type(hlavicka))
print(hlavicka)
==

Pokud toho chroustacího kódu máš víc, pomůže pythonovská
utilitka 2to3 -- viz 
http://diveintopython3.py.cz/case-study-porting-chardet-to-python-3.html#running2to3

P.

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Tisk unicode řetězce a tisk seznamu unicode řetězců

2011-06-08 Tema obsahu Petr Přikryl

Mailer mi sežral zpětná lomítka. Dopiš si je tam.

  To je jedno z těch temných zákoutí. Ono se to vzteká už při
  
  hlavicka = ur'usepackage'
  print hlavicka
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Tisk unicode řetězce a tisk seznamu unicode řetězců

2011-06-07 Tema obsahu Petr Přikryl

 David Rohleder 
 Petr Přikryl píše
   Jak píše Tomáš. Jakmile si začneš s texty s diakritikou, 
   vždycky je lepší používat Unicode řetězce (i když je otrava
  psát před literály u a dávat [...]
  
  a není ta definice na začátku
  # -*- coding: utf-8 -*-
  ekvivalentní uřetězec?
 
Není. Ta definice na začátku souboru jen říká interpretu, jak
má interpretovat znaky ve zdrojovém textu. Neříká nic dalšího
o tom, co se s nimi děje u starých řetězců (bez u na začátku). 
Pokud je zdrojový text v utf-8, pak i v paměti bude v řetězcovém
objektu stejná posloupnost bajtů, jako v souboru. V řetězcovém
objektu ale není nikde informace o kódování -- ta existuje
mimo objekty a má charakter dohody. (Každý soubor může 
používat jiný způsob kódování. Nevím o způsobu, jak by se dalo
v pythonovském programu zpětně zjistit, v jakém kódování 
byl uveden zdrojový text -- ale možná něco takového je.)

Teprve když použiteš unicode řetězec, přehrká interpret
při překladu posloupnost bajtů z literálu za pomocí informace
z # -*- coding: ... -*- na posloupnost abstraktních unicode znaků.

V Pythonu 3 už se prefix u psát nemusí -- všechny řetězcové
literály se převádějí na unicode řetězce. Unicode řetěze nevyužívá
žádné kódování. Je to prostě unicode řetězec.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Fwd: Re: Re: učit Python 2.x nebo 3.x

2011-06-06 Tema obsahu Petr Přikryl

Přeposílám ještě pár poznatků Jiřího Znamenáčka, který 
Python momentálně používá při výuce...
 
Petr
 __ Původní zpráva: 
  Od: Jiří Znamenáček
  Datum: 06.06.2011 11:28
  Předmět: Re: Re: [python] učit Python 2.x nebo 3.x
 
 [...]Pár komentářů mám, ale řešení ne :)
 
  Nečteš náhodou tuhle konferenci? Ptá se tam nějaký člověk,
  jestli na střední škole začít učit Python 3 nebo Python 2.
 Zajímavá otázka. S Pythonem 2.7 nemám vůbec žádné zkušenosti, jen
 matnou představu z 2.6. Vyjádřil bych se spíš obecně 2.x versus 3.x.
 
 Dva komentáře obecně:
 ~ Python 3.x je sice zpětně nekompatibilní, ale troufám si tvrdit, že
 ke škodě jazyka příliš málo – věcí na opravení (a zbavení se
 historického balastu) tam bohužel i tak zbyla spousta :-(
 ~ Ale přes to všechno je řada 3.x mnohem, hm, logičtější jazyk.
 Zvláště rozšíření použití iterátorů a sjednocení všehokoliv (nechci
 říkat zrovna syntaxe). Prostě kód v Pythonu 3.x v mnoha ohledech
 působí „přirozeněji“.
 
 Z hlediska výuky:
 ~ Chcete-li studenty seznámit s programováním na dynamicky typovaném
 jazyce, je Python asi pořád jedna z lepších (a čitelnějších) voleb. (I
 když už léta ztrácím přehled, takže...)
 ~ Python vám vnutí celkem rozumnou štábní kulturu. Počítejte ale s
 tím, že i v jeho dosti pevných mantinelech se najdou lidi, kteří ji
 ohnou takovým způsobem, že se nebudete stačit divit :-)
 ~ I v trojkovém Pythonu je spousta ošklivých věcí, ale pořád méně než
 ve dvojkovém.
 ~ Mimochodem řada 3.x působí zatím skoro celou dobu jako testovací
 beta, takže jestli trojkový Python, tak rovnou až 3.2 :-) Ten vzal
 zpátky některé podivné změny a vypadá, že se vývoj konečně trochu
 ustálil.
 
 Tudíž neslaný-nemastný závěr:
 ~ Je-li vaším hlavním úkolem zpracovávání textu v jakémkoliv jiném
 kódování než ASCII, zapomeňte na Python 2.x a používejte rovnou 3.1+.
 (Nebo si aspoň důkladně ověřte, že autor knihovny, kterou zrovna
 potřebujete, s Unicodem počítal...)
 ~ Potřebujete-li spolupráci externích knihoven, důkladně si
 nastudujte, zda jsou k dispozici pro Python 3.x. Většinou to nebude
 pravda a budete muset použít Python 2.x.
 
 Osobně si pořád (po dvaceti letech :-) myslím, že základy programování
 se nejlíp vysvětlují na Karlovi. Logo je pěkné, ale už zbytečně
 obsáhlé. A „normální“ jazyky – Python v to počítaje – jsou z tohohle
 hlediska už úplně mimo. Popravdě bych byl radikální a kdybych mohl,
 tak bych povinně předepsal NEJDŘÍV kurs Haskellu nebo něčeho podobného
 funkcionálního, a AŽ POTOM bych nasadil procedurální jazyk.
 
   Jirka
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] učit Python 2.x nebo 3.x

2011-05-31 Tema obsahu Petr Přikryl

 Od: Marek Nožka 
 ...
 Rád bych zařadil Python do výuky programování na střední škole a rád bych
  se zeptal na váš názor ohledně toho, jestli učit Python 2 nebo 3.

Python 2.7 implementuje hodně věcí z Python 3. Rozdíly rozhodně 
nejsou nepřekonatelné.  Pro Python 3 bych se rozhodoval pokud 
by se důraz kladl na zpracování českého textu (nový typ string, 
unicode a z toho mírně odlišný přístup při práci se soubory 
v textovém režimu, ...).

Doporučil bych se spojit s těmi, kdo to už učí. Budou mít poznatky
z první ruky. (Znám dva, aspoň jeden to tady čte...)

 pro trojkouvou řadu zatím nejsou moc knihovny. (Jde mi hlavně o
  SciPy, NumPy a Matplotlib, protože jsme technická škola.)
 Další problém je s návody a tutoriály. Ty jsou zatím spíš pro v2.
 
Nedávno byl vydán český překlad Dive Into Python 3 pod názvem
Ponořme se do Pythonu 3 (http://knihy.nic.cz/, html verze na
http://diveintopython3.py.cz/). Jsou tam shrnuty poznatky autora
související s rozdíly vůči Python 2, jak upravovat starší zdrojáky,
na co si dát pozor atd.

 Myslíte si, že bych měl raději začít v.2.x a pak teprve přejít ke 3.1?
 
Puristický a extrémistický přístup vyžaduje jedině Python 3.2.1.
Faktem je, že v praxi je stále ještě víc dostupný Python 2,
takže bych volil 2.7. 

(Pro mě osobně je brzdou v přechodu k Python 3 hlavně balík 
wxPython.)

Měj se fajn, 
    Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] XML a ElementTree

2011-05-13 Tema obsahu Petr Přikryl

Jen obecná poznámka...

Na http://diveintopython3.py.cz/ jsem umístil HTML verzi českého překladu Dive Into Python 3.  
Doporučuju kapitolu 12. XML http://diveintopython3.py.cz/xml.html. Lepší je momentálně

asi jen lxml, která používá stejné aplikační rozhraní, ale podporuje víc do 
hloubky XPath...

V Python 2 se s ElementTree dělá podobně.

Měj se fajn,
    Petr
__
 Od: Vlastimil Slinták
 Komu: Konference PyCZ 
 Datum: 12.05.2011 19:16

 Předmět: [python] XML a ElementTree

Zdravím,

snažím se v Pythonu parsovat XML soubor pomocí xml.etree.ElementTree. Chtěl 
bych z xml stromu načíst obsah některých konkrétních tagů a případně je změnit 
a zapsat zpět. Bohužel se mi to nedaří.

Abych nemluvil obecně — snažím se udělat si pořádek ve své elektronické 
knihovně, která obsahuje knihy ve formátu EPUB. To je v podstatě ZIP archiv, 
který obsahuje soubor content.opf se všemi informacemi. V tomto souboru, který 
má formát XML, jsou uloženy informace o autorovi, názvu knihy, ISBN a další 
(viz příloha).

V Pythonu zkouším něco takového:

import xml.etree.ElementTree as ET

tree = ET.parse('content.opf’)

# Všechny elementy mohu projít přes iterátor:
for e in tree.getiterator():
print e.tag

# Mně ale zajímají pouze některé elementy,
# zkouším je najít...
tree.find(’title’)
tree.find('package/metadata/title’)

# Ani přes kořenový element se nedaří
root = tree.getroot()
root.find(’title’)
root.find('package/metadata/title’)

# Pokud se pokusím vyhledat tag ‚title’ včetně
# jmenného prostoru, dostanu výjimku
root.find('dc:title’)
 SyntaxError: expected path separator (:)

Pravděpodobně jsem jenom nepochopil jak se pracuje s XML. Jak mám načíst obsah 
jenom těch elementů, které mě zajímají abych s nimi mohl dál pracovat? 
Případně, existuje lepší knihovna na práci s XML v Pythonu?

S pozdravem,
VS


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

[python] Zveřejněna HTML verze českého překladu Dive Into Python 3

2011-05-13 Tema obsahu Petr Přikryl

Zdravím všechny,

Na http://diveintopython3.py.cz/ najdete HTML verzi českého překladu
Dive Into Python 3 od Marka Pilgrima (http://diveintopython3.org/),
čili Ponořme se do Pythonu 3.  Tento text byl podkladem pro 
sazbu stejnojmenné knihy, která vyšla v Edici CZ.NIC -- viz 
http://knihy.nic.cz/.
Na stránce http://knihy.nic.cz/ najdete i odkaz na PDF verzi.

S pozdravem,
    Petr Přikryl

P.S. Postupně ta HTML učešu a zapracuji opravy a úpravy z originálu.
Když najdete chybu, neváhejte a napište.  Víc očí víc vidí.  Víc hlav, víc 
zelí. ;)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Optimalizace

2011-05-02 Tema obsahu Petr Přikryl

Musí se taky dát pozor na to, v jakém pořadí jsou ty bajty uloženy.
Různé operační systémy a různé procesory mohou způsobit
uložení bajtů z 32bitového čísla v různém pořadí. Pokud ten
kód má být nějak univerzální, musí se na to myslet.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Nastavení default kódování print-u (je?t? jednou)

2011-04-19 Tema obsahu Petr Přikryl
Ať se na to díváš jak chceš, vždycky někde nastane nějaká 
komplikace. Problém je v tom, že string v Pythonu 2.x je posloupnost

bajtů a informace o kódování u toho není zachycena.

Nakonec jsem dospěl k tomu, že je nutné používat unicode řetězce
(i v Pythonu 2). Zatím to může být v reálném provozu utopie, ale 
je dobré se pomalu přeorientovávat na Python 3.


Petr

__
 zu1234 napsal

Děkuji za krásné uvedení do problému!!

K obsluze kódování na výstupu z programů
jsem začal používat codecs.getwriter(...)
jak mi zde bylo poraděno.

Pod windows mi to například umožňuje nastavit
stdout (který jde do souboru) na cp1250
a strerr (který jde na terminál) na cp852.

Je to dobré řešení až na jeden problém:
Pokud nastavím kódování i na stderr a nastane
chyba při běhu programu na řádku obsahujícím
české znaky, nezobrazí se popis chyby.
To trochu komplikuje ladění programu.

Nevím jak to odstranit.

Například:

---
Varianta s sys.stderr = codecs.getwriter 
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import codecs

sys.stderr = codecs.getwriter('cp852')(sys.stderr)

print ššš %s % ()

---
Chybové hlášení částečné:
Traceback (most recent call last):
  File x.py, line 10, in 



Varianta bez sys.stderr = codecs.getwriter 
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import codecs

# sys.stderr = codecs.getwriter('cp852')(sys.stderr)

print ššš %s % ()


---
Chybové hlášení úplné:
Traceback (most recent call last):
  File x.py, line 9, in 
    print ┼í┼í┼í %s % ()

TypeError: not enough arguments for format string



Dne 19.4.2011 12:30, Filip Štědronský napsal(a):
 Dne 22.3.2011 14:38:22 napsal zu1234:
 Ale mohl by mi někdo vysvětlit proč to nejde bez reload?

 #!/usr/bin/python
 # -*- coding: utf-8 -*-

 import sys
 reload(sys)

 if sys.stdout.isatty():
       # Výstup jde na terminál:
       sys.setdefaultencoding('cp852')
 else:
       # Výstup jde do souboru:
      sys.setdefaultencoding('cp1250')

 print u'šílené'

 Ahoj,
 tohle všechno je způsobeno tím, že funkce setdefaultencoding
 není tak úplně určena pro uživatele. Při startu Pythonu se
 automaticky importuje modul site.py, který se stará o všechny
 možné druhy nastavení a inicializací a který je podle potřeby
 možné přizpůsobit podle potřeb cílové platformy a/nebo
 administrátora. Tam se mimo jiné volá funkce setdefaultencoding
 s nějakou hodnotou, kterou to považuje za rozumnou pro dané
 prostředí (v linuxu se to snaží uhodnout podle locale, na oknech
 to nejspíš bude vždy ascii). A poté, co to udělá, prostě funkci
 setdefaultencoding z modulu sys smaže (aby si s ní nehráli
 programátoři --- neboť v dobré víře je nastavení kódování
 považováno za věc prostředí, do které Pythoní program, kterýžto
 by měl být na prostředí nezávislý, nemá co mluvit). Reloadem
 se sys vrátí do původního stavu, tedy včetně metody, kterou
 původně site smazal. Pro podrobnější informace doporučuji projít
 site.py někde v knihovních adresářích pythonu.

 Snad to dává aspoň trochu smysl
 Filip Štědronský


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Pro volný čas - Algebrogram

2011-04-18 Tema obsahu Petr Přikryl

Jen pro zajímavost, stejná věc se řeší v Ponořme se do Pythonu 3 od Marka 
Pilgrima.
V českém překladu http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf
je to na straně 175 a 176 (pojem algebrogram jsem neznal, takže jsem to přeložil
trochu otrocky).  

Úloha se formálně zapisuje jako boolovský výraz a využívá  se 
(trochu hodně nebezpečná) funkce eval():

JAN + DNES + NEVI + ZDA + SE + JEDE + JEDNA + JIZDA == ZNOVA

V angličině je to tady a dá se tam přímo stáhnout i pythonovský zdroják. Ale 
pozor
je to upraveno pro Python 3. 

Originální řešení od Raymonda Hettingera je tady (pro Python 2):
http://code.activestate.com/recipes/576615/

Hledá to ale jen první řešení (pak to zastaví, dalo by se to upravit). Možná to 
není nejefektivnější, ale řešení je zapsáno na pár řádcích. (Na mém průměrném 
počítači to první řešení JAN DNES NEVI... ukázalo asi za 10 sekund (varianta
pro Python 3).

(Taky to není upravené na česká písmena, ale to se dá jednoduše.)

Mějte se všichni fajn,
Petr

__
 Tomix napsal
 Datum: 15.04.2011 18:04
 Předmět: [python] Pro volný čas - Algebrogram

Zdravím, už dlouho se tu neřešil
nějaký kvíz, tak bych jeden měl:


http://nb.vse.cz/~fabry/hadanky-algebrogram.html


  JAN

 DNES

 NEVÍ

  ZDA

   SE

 JEDE

JEDNA

JÍZDA

---

ZNOVA


Zajímalo by mě, jestli je v Pythonu možné napsat řešení, které
proběhne v rozumném čase.

Tak do hodiny.

Moje řešení se za několik hodin dostane cca do poloviny
potřebných cyklů. (amd1700+)

Stejný kód, přepsaný do C++ proběhne komplet za 20 minut.


Moje řešení v Pythonu:

http://codepad.org/wWPg3qQf


A v C++

http://codepad.org/fcy0MEmA


Příkad má 10 řešení.


--

Tady je ještě jeden, lehčí:

http://nb.vse.cz/~fabry/hadanky-algebrogram-prsi-prsi.html


PRŠÍ

PRŠÍ

 JEN

  SE



LEJE


(104 řešení)


---

Tomix




 








___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Pro volný čas - Algebrogram

2011-04-18 Tema obsahu Petr Přikryl

A ještě bych vám všem rád poradil, abyste si příspěvky po sobě pořádně
přečetli... :)))

... v angličtině je to tady http://diveintopython3.org/advanced-iterators.html

__
 Petr Přikryl

Jen pro zajímavost, stejná věc se řeší v Ponořme se do Pythonu 3 od Marka 
Pilgrima.
V českém překladu 
http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf
je to na straně 175 a 176 (pojem algebrogram jsem neznal, takže jsem to 
přeložil
trochu otrocky).  

Úloha se formálně zapisuje jako boolovský výraz a využívá  se 
(trochu hodně nebezpečná) funkce eval():

JAN + DNES + NEVI + ZDA + SE + JEDE + JEDNA + JIZDA == ZNOVA

V angličině je to tady a dá se tam přímo stáhnout i pythonovský zdroják. Ale 
pozor
je to upraveno pro Python 3. 

Originální řešení od Raymonda Hettingera je tady (pro Python 2):
http://code.activestate.com/recipes/576615/

Hledá to ale jen první řešení (pak to zastaví, dalo by se to upravit). Možná 
to 
není nejefektivnější, ale řešení je zapsáno na pár řádcích. (Na mém průměrném 
počítači to první řešení JAN DNES NEVI... ukázalo asi za 10 sekund (varianta
pro Python 3).

(Taky to není upravené na česká písmena, ale to se dá jednoduše.)

Mějte se všichni fajn,
Petr

__
 Tomix napsal
 Datum: 15.04.2011 18:04
 Předmět: [python] Pro volný čas - Algebrogram

Zdravím, už dlouho se tu neřešil
nějaký kvíz, tak bych jeden měl:


http://nb.vse.cz/~fabry/hadanky-algebrogram.html


  JAN

 DNES

 NEVÍ

  ZDA

   SE

 JEDE

JEDNA

JÍZDA

---

ZNOVA


Zajímalo by mě, jestli je v Pythonu možné napsat řešení, které
proběhne v rozumném čase.

Tak do hodiny.

Moje řešení se za několik hodin dostane cca do poloviny
potřebných cyklů. (amd1700+)

Stejný kód, přepsaný do C++ proběhne komplet za 20 minut.


Moje řešení v Pythonu:

http://codepad.org/wWPg3qQf


A v C++

http://codepad.org/fcy0MEmA


Příkad má 10 řešení.


--

Tady je ještě jeden, lehčí:

http://nb.vse.cz/~fabry/hadanky-algebrogram-prsi-prsi.html


PRŠÍ

PRŠÍ

 JEN

  SE



LEJE


(104 řešení)


---

Tomix




 








___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Python a XML (Re: Jaky zpusobem ukladat data do pole)

2011-04-01 Tema obsahu Petr Přikryl

Stone napsal...
Potrebuju vedet, jak se ukladaji data rekneme tomu, kdyz mam XML
dokument?
Jaka je reprezentace v Pythonu?
Existuji nejake postupy?

V současnosti je asi nejlepší xml.etree (standardní modul -- 
http://docs.python.org/library/xml.etree.elementtree.html#module-xml.etree.ElementTree)
nebo podobný s vylepšenými vlastnostmi lxml (není standardní, stáhnout z PyPI).

Koukni na Dive into Python 3 od Marka Pilgrima, kapitola 12: XML 
(http://diveintopython3.org/xml.html)
nebo na český překlad na http://knihy.nic.cz/

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Python a XML (Re: Jaky zpusobem ukladat data do pole)

2011-04-01 Tema obsahu Petr Přikryl

Jak píše Petr Blahoš, pokud už znáš SAX nebo DOM přístupy ke zpracování XML,
pak jsou odpovídající standardní moduly přímo v Pythonu. Ale pokud ty 
zpracovávané
XML dokumenty nejsou extrémně velké a nemusí se zpracovávat průběžně (můžou
se celé načíst do paměti -- jinak by bylo nutné použít SAX), pak je asi lepší 
začít
s xml.etree.

P.

Stone napsal...
Potrebuju vedet, jak se ukladaji data rekneme tomu, kdyz mam XML
dokument?
Jaka je reprezentace v Pythonu?
Existuji nejake postupy?

V současnosti je asi nejlepší xml.etree (standardní modul -- 
http://docs.python.org/library/xml.etree.elementtree.html#module-xml.etree.ElementTree)
nebo podobný s vylepšenými vlastnostmi lxml (není standardní, stáhnout z PyPI).

Koukni na Dive into Python 3 od Marka Pilgrima, kapitola 12: XML 
(http://diveintopython3.org/xml.html)
nebo na český překlad na http://knihy.nic.cz/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Jaky zpusobem ukladat data do pole

2011-03-31 Tema obsahu Petr Přikryl

Zkus tohle


pole1 = {}# prázdný slovník (ekvivalent perlovského hash)
pole2 = {}

f = open('trace.data')
for line in f:
k, v = line.rstrip().split('=', 1)  # .rstrip() odstraní n
print repr(k), repr(v)
pole1[k] = v
f.close()


f = open('trace.cfg')
for line in f:
k, v = line.rstrip().split('=', 1)
print repr(k), repr(v)
pole2[k] = v
f.close()

print pole1
print pole2

print pole1['AAA']
print pole2['AAA']
print repr(pole2['AAA'])
---

Když jsem do uvedených souborů uložil ty udané řádky, vypisuje to tohle:

C:tmp___pythonStonepy.czpython a.py
'AAA' 'BBB=CCC=DDD=EEE'
'AAA' 'FFF=GGG=HHH'
{'AAA': 'BBB=CCC=DDD=EEE'}
{'AAA': 'FFF=GGG=HHH'}
BBB=CCC=DDD=EEE
FFF=GGG=HHH
'FFF=GGG=HHH'


Petr

__
 Od: Stone phrac...@gmail.com
 Komu: python@py.cz
 Datum: 31.03.2011 09:35
 Předmět: [python] Jaky zpusobem ukladat data do pole

Ahoj vsichni,

jsem zacatecnik v Pythonu. Delam v nem asi 4 mesice.
Mam jeden dotaz.
V konfiguracnim souboru trace.data mam nasledujici radky:
AAA=BBB=CCC=DDD=EEE
v dalsim kofiguracnim souboru jako trace.cfg man tyto radky:
AAA=FFF=GGG=HHH

V perlu jsem to delal pomoci Hashe.
Existuje neco podobneho v Python? Perl se mi uz prestal libit.
Jak by se dala testovat jestli dotycna hodnota existuje?
Predpokladal bych neco jako:
pole1{AAA}=BBB=CCC=DDD=EEE
pole2{AAA}=FFF=GGG=HHH

Diky predem
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Jaky zpusobem ukladat data do pole

2011-03-31 Tema obsahu Petr Přikryl

Martin Kubát napsal...
nevim přesně co potřebuješ, ale možná Ti pomůže todle:

slovnik = {a:AAA, b:BBB, c:CCC}
slovnik.has_key(a) # True
slovnik.has_key(c) # True
slovnik.has_key(x) # False

Metoda slovníku .has_key() je zastaralá a měla by se dávat přednost 
operátoru in. Takže:

'a' in slovnik # True
c in slovnik # True
'x' in slovnik # False

Apostrofy nebo uvozovky jsou jako omezovače řetězcových literálů 
naprosto rovnocenné (musí být stejný na začátku a na konci).

Petr

P.S. Omlouvám se Stoneovi, že jsem v minulém dopise nepromázl 
mailovou adresu.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Překlad knihy Dive into Python 3

2011-03-28 Tema obsahu Petr Přikryl

Tušil jsem to. Škoda.

Dík za info,
   Petr

__
 Od: David Rohleder da...@ics.muni.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 28.03.2011 10:38
 Předmět: Re: [python] Překlad knihy Dive into Python 3

Ahoj,

jak jsem se tak díval, tak to vypadá úplně stejně, ale je to na první
pohled.

Musím říct, že sazba se mi nelíbí. Jako by na to najali nějakého
experimentátora, který si rád hraje a uživatelské blaho ho příliš
nezajímá.

- příliš malá písmenka
- příliš dlouhé řádky
- příliš malé okraje
- nadpisy stejným typem písma jako text (plus podtržení, to by mne
zajímalo, kdo na to přišel)
- programy na stejné úrovni jako text (já osobně bych příklady trochu
zanořil)

+ pěkný bílý papír

To jsou mé postřehy po prvním prolistování.

David

Petr Přikryl píše v St 16. 03. 2011 v 20:26 +0100:
 Jen mě zajímá, jak ta sazba dopadla. Nic víc. Díky ;)
 
 P.
 __
  Od: rain...@gmail.com
  Komu: Konference PyCZ python@py.cz
  Datum: 16.03.2011 20:23
  Předmět: Re: [python]Překlad knihy Dive into Python 3
 
 zatim ne, ale chystam se knihu takto sponzorovat v ramci firmy :). Mate na  
 mysli neco konkretniho ?
 
 Dne uživatel Petr Přikryl prik...@atlas.cz napsal:
 
 
  Koupil jste si to někdo v papírové podobě?
 
  Zajímalo by mě, jestli se to shoduje se zveřejněným PDF
 
  (http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf),
 
  nebo jestli to ještě při sazbě nějak vylepšili.
 
 
 
  P.
 
  __
 
   Od: David Rohleder da...@ics.muni.cz
 
   Komu: Konference PyCZ python@py.cz
 
   Datum: 21.02.2011 11:57
 
   Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3
 
  
 
  Super, ještě přidám odkaz:
 
  http://knihy.nic.cz/
 
  
 
  jsem moc zvědavý, jak to dopadlo.
 
  
 
  D.
 
  
 
  rain...@gmail.com píše v Po 21. 02. 2011 v 10:33 +:
 
   Viola...
 
   -- Přeposlaná zpráva --
 
   Od: Zuzana Pochopová via RT podp...@nic.cz
 
   Datum:
 
   Předmět: [CZ.NIC #107337] kniha dive into python3
 
   Komu: rain...@gmail.com
 
   Kopie:
 
  
 
  
 
Vazeny zakazniku,
 
   
 
   
 
   
 
kniha Dive into python dnes prave vysla a jeji prodej bude zahajen
 
   behem dneska
 
   
 
ci zitrka.
 
   
 
   
 
   
 
S pozdravem
 
   
 
   
 
   
 
--
 
   
 
Zuzana Pochopova
 
   
 
supervizor zakaznicke podpory
 
   
 
   
 
   
 
CZ.NIC, zspo
 
   
 
Americka 23, 120 00 Praha 2
 
   
 
--
 
   
 
   
 
   
 
T +420 222 745 126
 
   
 
+420 222 745 111
 
   
 
F +420 222 745 112
 
   
 
e-mail : zuzana.pochop...@nic.cz
 
   
 
www.nic.cz
 
   
 
--
 
   
 
   
 
   
 
www.mojeID.cz - vaše bezpečná webová identita
 
   
 
   
 
   
 
Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):
 
   
 
 Vazeny pane Rainbofe,
 
   
 

 
   
 
 Vase zprava byla prijata pracovnikem zakaznicke podpory a predana
 
   
 
 kompetentni
 
   
 
 osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.
 
   
 

 
   
 
 Dekujeme Vam za pochopeni a jsme s pozdravem
 
   
 

 
   
 

 
   
 
 --
 
   
 
 Darina Strakova
 
   
 
 specialista zakaznicke podpory
 
   
 

 
   
 
 CZ.NIC, zspo
 
   
 
 Americka 23, 120 00 Praha 2
 
   
 
 --
 
   
 
 Tel.: +420 222 745 102
 
   
 
 +420 222 745 111
 
   
 
 Fax: +420 222 745 112
 
   
 

 
   
 
 E-mail: darina.strak...@nic.cz
 
   
 
 www.nic.cz
 
   
 

 
   
 
 www.mojeID.cz - vaše bezpečná webová identita
 
   
 

 
   
 

 
   
 

 
   
 

 
   
 
 Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):
 
   
 
  Dobrý den,
 
   
 
 
 
   
 
  sledoval jsem loni překlad knihy dive into python
 
   
 
 
 
   http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-
 
   
 
 into-
 
   
 
  python-3/ktera
 
   
 
  ceka na vydani prave ve vasi edici chtel bych se zeptat jak to
 
   
 
 vypada
 
   
 
  s jejim vydanim.
 
   
 
   
 
   
 
   ___
 
   Python mailing list
 
   Python@py.cz
 
   http://www.py.cz/mailman/listinfo/python
 
  
 
  
 
  ___
 
  Python mailing list
 
  Python@py.cz
 
  http://www.py.cz/mailman/listinfo/python
 
  
 
  ___
 
  Python mailing list
 
  Python@py.cz
 
  http://www.py.cz/mailman/listinfo/python
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python


___
Python

[python] Vylepšení stránek py.cz

2011-03-16 Tema obsahu Petr Přikryl

Možná by to chtělo vylepšit nebo připomenout takovou drobnost...
Už se zase neumím přihlásit, pokud bych chtěl něco editovat.
Buď jsem slepý, nebo to není moc intuitivní (obojí je možné ;)

P.
__
 Od: Michal Molhanec mol-pyt...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 08.03.2011 19:21
 Předmět: Re: [python] omezeni globalniho slovniku

Něco mi uniká? Články na py.cz jsou, wiki je to celý, na mail archív se 
dostanu z titulní stránky na dvě kliknutí. Design by mohl být lepší, ale 
kvůli tomu není potřeba měnit platformu.

Problém přece není v technologii, ale v tom, kdo ty články bude psát. 
Proč je nikdo nepíše dneska? Jak donutíte lidi, aby je psali, když 
přejdete na CMS?

Jestli vám přijde nepřehledná titulní stránka nebo struktura současného 
py.cz, tak to lze přece změnit.

Dne 8.3.2011 17:52, Visgean Skeloru napsal(a):
 Zdravím, jak přesně je to míněno? py.cz http://py.cz by dle mého
 potřebovala nový portál, s články, wiki systémem, lehce přístupným mail
 archívem a nějakým novodobým designem... Šel by do toho někdo? Osobně
 mám velice malé zkušenosti s web designem ale trochu djanga zvládnu,
 chtělo by to více lidí... Měl by ještě někdo zájem přetvořit py.cz
 http://py.cz (ač nevím jak moc mám pravomoc podobnou možnost nabízet :) )

 2011/3/6 g...@post.cz mailto:g...@post.cz


 Visgean Skeloru napsal(a), dne 4.3.2011 19:26:
   Taky mam pocit že každý týden je tu jeden mail na téma: jak použít
   exec/eval, možná by to chtělo založit nějaké FAQ kde by bylo vyloženě
   napsáno ať to dělají jinak, nebo rovnou odkazovat na starší vlákna...
   btw: v souvislost s tím by možná nebylo na škodu opravit py.cz
 http://py.cz
   http://py.cz 


 máš možnost ;-)
 ___
 Python mailing list
 Python@py.cz mailto:Python@py.cz
 http://www.py.cz/mailman/listinfo/python




 --
 PGP pub key:
 http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
 http://www.abclinuxu.cz/lide/visgean/gpg
 A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
 Jabber: visg...@jabber.org mailto:visg...@jabber.org |
 visg...@jabber.cz mailto:visg...@jabber.cz
 Github: http://github.com/Visgean



 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Vylepšení stránek py.cz

2011-03-16 Tema obsahu Petr Přikryl

To jsem zkoušel a nezabralo to. Asi to vyžadovalo zavření stránky prohlížeče.
Teď jsem se tam doklikal znovu a fungovalo to samo od sebe. ;)

Dík,
  P.

__
 Od: g...@post.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 16.03.2011 14:41
 Předmět: Re: [python] Vylepšení stránek py.cz

Pokud ti to píše: Not permitted Sorry, you need more identification to
do that on this wiki. Perhaps you need to set a username in options or
log in ? tak bys asi měl kliknout na ten jediný odkaz, co tam je,
vyplnit dvě věci, save a mělo by to jet.  ;-)

P.

Petr Přikryl napsal(a), dne 16.3.2011 14:35:
 
 Možná by to chtělo vylepšit nebo připomenout takovou drobnost...
 Už se zase neumím přihlásit, pokud bych chtěl něco editovat.
 Buď jsem slepý, nebo to není moc intuitivní (obojí je možné ;)
 
 P.
 __
 Od: Michal Molhanec mol-pyt...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 08.03.2011 19:21
 Předmět: Re: [python] omezeni globalniho slovniku

 Něco mi uniká? Články na py.cz jsou, wiki je to celý, na mail archív se 
 dostanu z titulní stránky na dvě kliknutí. Design by mohl být lepší, ale 
 kvůli tomu není potřeba měnit platformu.

 Problém přece není v technologii, ale v tom, kdo ty články bude psát. 
 Proč je nikdo nepíše dneska? Jak donutíte lidi, aby je psali, když 
 přejdete na CMS?

 Jestli vám přijde nepřehledná titulní stránka nebo struktura současného 
 py.cz, tak to lze přece změnit.

 Dne 8.3.2011 17:52, Visgean Skeloru napsal(a):
 Zdravím, jak přesně je to míněno? py.cz http://py.cz by dle mého
 potřebovala nový portál, s články, wiki systémem, lehce přístupným mail
 archívem a nějakým novodobým designem... Šel by do toho někdo? Osobně
 mám velice malé zkušenosti s web designem ale trochu djanga zvládnu,
 chtělo by to více lidí... Měl by ještě někdo zájem přetvořit py.cz
 http://py.cz (ač nevím jak moc mám pravomoc podobnou možnost nabízet :) )

 2011/3/6 g...@post.cz mailto:g...@post.cz


 Visgean Skeloru napsal(a), dne 4.3.2011 19:26:
   Taky mam pocit že každý týden je tu jeden mail na téma: jak použít
   exec/eval, možná by to chtělo založit nějaké FAQ kde by bylo 
 vyloženě
   napsáno ať to dělají jinak, nebo rovnou odkazovat na starší 
 vlákna...
   btw: v souvislost s tím by možná nebylo na škodu opravit py.cz
 http://py.cz
   http://py.cz 


 máš možnost ;-)
 ___
 Python mailing list
 Python@py.cz mailto:Python@py.cz
 http://www.py.cz/mailman/listinfo/python




 --
 PGP pub key:
 http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
 http://www.abclinuxu.cz/lide/visgean/gpg
 A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
 Jabber: visg...@jabber.org mailto:visg...@jabber.org |
 visg...@jabber.cz mailto:visg...@jabber.cz
 Github: http://github.com/Visgean



 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Překlad knihy Dive into Python 3

2011-03-16 Tema obsahu Petr Přikryl

Koupil jste si to někdo v papírové podobě?
Zajímalo by mě, jestli se to shoduje se zveřejněným PDF
(http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf),
nebo jestli to ještě při sazbě nějak vylepšili.

P.
__
 Od: David Rohleder da...@ics.muni.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 21.02.2011 11:57
 Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3

Super, ještě přidám odkaz:
http://knihy.nic.cz/

jsem moc zvědavý, jak to dopadlo.

D.

rain...@gmail.com píše v Po 21. 02. 2011 v 10:33 +:
 Viola... 
 -- Přeposlaná zpráva --
 Od: Zuzana Pochopová via RT podp...@nic.cz
 Datum: 
 Předmět: [CZ.NIC #107337] kniha dive into python3
 Komu: rain...@gmail.com
 Kopie: 
 
 
  Vazeny zakazniku,
  
  
  
  kniha Dive into python dnes prave vysla a jeji prodej bude zahajen
 behem dneska
  
  ci zitrka.
  
  
  
  S pozdravem
  
  
  
  --
  
  Zuzana Pochopova
  
  supervizor zakaznicke podpory
  
  
  
  CZ.NIC, z. s. p. o.
  
  Americka 23, 120 00 Praha 2
  
  --
  
  
  
  T +420 222 745 126
  
  +420 222 745 111
  
  F +420 222 745 112
  
  e-mail : zuzana.pochop...@nic.cz
  
  www.nic.cz
  
  --
  
  
  
  www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):
  
   Vazeny pane Rainbofe,
  
  
  
   Vase zprava byla prijata pracovnikem zakaznicke podpory a predana
  
   kompetentni
  
   osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.
  
  
  
   Dekujeme Vam za pochopeni a jsme s pozdravem
  
  
  
  
  
   --
  
   Darina Strakova
  
   specialista zakaznicke podpory
  
  
  
   CZ.NIC, z. s. p. o.
  
   Americka 23, 120 00 Praha 2
  
   --
  
   Tel.: +420 222 745 102
  
   +420 222 745 111
  
   Fax: +420 222 745 112
  
  
  
   E-mail: darina.strak...@nic.cz
  
   www.nic.cz
  
  
  
   www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  
  
  
  
  
  
   Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):
  
Dobrý den,
  
   
  
sledoval jsem loni překlad knihy dive into python
  
   
 http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-
  
   into-
  
python-3/ktera
  
ceka na vydani prave ve vasi edici chtel bych se zeptat jak to
  
   vypada
  
s jejim vydanim.
  
  
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Django v TV :)

2011-03-16 Tema obsahu Petr Přikryl

Piš s diakritikou, ať nezkresluješ smysl svých vět. 
Pro ostatní... tam nějaký ten Python taky vyŠkytne :)))

P.

__
 Od: Jirka Vejrazka jirka.vejra...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 15.03.2011 20:17
 Předmět: Re: [python] Django v TV :)

 Aha, tak to bude asi nějaký prequel/sequel k tomuto, ne?
 http://www.csfd.cz/film/30525-python/

Jak tak na to po ocku koukam (a zaroven se hrabu v ORM), tak se zda,
ze se tam nejaky ten Python taky vyskytne :)

  Jirka
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Překlad knihy Dive into Python 3

2011-03-16 Tema obsahu Petr Přikryl

Jen mě zajímá, jak ta sazba dopadla. Nic víc. Díky ;)

P.
__
 Od: rain...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.03.2011 20:23
 Předmět: Re: [python]Překlad knihy Dive into Python 3

zatim ne, ale chystam se knihu takto sponzorovat v ramci firmy :). Mate na  
mysli neco konkretniho ?

Dne uživatel Petr Přikryl prik...@atlas.cz napsal:


 Koupil jste si to někdo v papírové podobě?

 Zajímalo by mě, jestli se to shoduje se zveřejněným PDF

 (http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf),

 nebo jestli to ještě při sazbě nějak vylepšili.



 P.

 __

  Od: David Rohleder da...@ics.muni.cz

  Komu: Konference PyCZ python@py.cz

  Datum: 21.02.2011 11:57

  Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3

 

 Super, ještě přidám odkaz:

 http://knihy.nic.cz/

 

 jsem moc zvědavý, jak to dopadlo.

 

 D.

 

 rain...@gmail.com píše v Po 21. 02. 2011 v 10:33 +:

  Viola...

  -- Přeposlaná zpráva --

  Od: Zuzana Pochopová via RT podp...@nic.cz

  Datum:

  Předmět: [CZ.NIC #107337] kniha dive into python3

  Komu: rain...@gmail.com

  Kopie:

 

 

   Vazeny zakazniku,

  

  

  

   kniha Dive into python dnes prave vysla a jeji prodej bude zahajen

  behem dneska

  

   ci zitrka.

  

  

  

   S pozdravem

  

  

  

   --

  

   Zuzana Pochopova

  

   supervizor zakaznicke podpory

  

  

  

   CZ.NIC, zspo

  

   Americka 23, 120 00 Praha 2

  

   --

  

  

  

   T +420 222 745 126

  

   +420 222 745 111

  

   F +420 222 745 112

  

   e-mail : zuzana.pochop...@nic.cz

  

   www.nic.cz

  

   --

  

  

  

   www.mojeID.cz - vaše bezpečná webová identita

  

  

  

   Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):

  

Vazeny pane Rainbofe,

  

   

  

Vase zprava byla prijata pracovnikem zakaznicke podpory a predana

  

kompetentni

  

osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.

  

   

  

Dekujeme Vam za pochopeni a jsme s pozdravem

  

   

  

   

  

--

  

Darina Strakova

  

specialista zakaznicke podpory

  

   

  

CZ.NIC, zspo

  

Americka 23, 120 00 Praha 2

  

--

  

Tel.: +420 222 745 102

  

+420 222 745 111

  

Fax: +420 222 745 112

  

   

  

E-mail: darina.strak...@nic.cz

  

www.nic.cz

  

   

  

www.mojeID.cz - vaše bezpečná webová identita

  

   

  

   

  

   

  

   

  

Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):

  

 Dobrý den,

  



  

 sledoval jsem loni překlad knihy dive into python

  



  http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-

  

into-

  

 python-3/ktera

  

 ceka na vydani prave ve vasi edici chtel bych se zeptat jak to

  

vypada

  

 s jejim vydanim.

  

  

  

  ___

  Python mailing list

  Python@py.cz

  http://www.py.cz/mailman/listinfo/python

 

 

 ___

 Python mailing list

 Python@py.cz

 http://www.py.cz/mailman/listinfo/python

 

 ___

 Python mailing list

 Python@py.cz

 http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] (ne)logičnost .join() ?

2011-02-28 Tema obsahu Petr Přikryl

Trochu popřehazuji pořadí...

Radek rad...@gmail.com napsal...
 On 23 ún, 08:08, Petr Přikryl prik...@atlas.cz wrote:
 A co se týká volně rozhozených built-in funkcí,
 ono jich zase tak strašně moc není. Nezvyklé je
 to hlavně pro lidi, kteří pracovali v čistě OO
 jazyce, který funkce nepodporuje
 
 jo, asi tak nějak. Teď by bodl dokument: Jak
 zobjektit Python v místech kde se tomu brání,
 resp. kde to ještě nikdo neudělal.
 
 To je asi to nejtrefnější: Přesně v místech kdy
 Python nesleduje objektové principy to bolí, a
 strašně.

Ono je trošku problematické říci, že Python nesleduje
objektové principy. V Pythonu je totiž objektem všechno.
Podle mého názoru dogma čistě objektového přístupu, kdy je
veškerá funkčnost realizována metodami objektů, neodpovídá
realitě, která nás obklopuje. Neodpovídá ani matematickým
abstrakcím, které nás obklopují od základní školy.

Pokud vás tedy něco strašně bolí, pak je to porušení oněch
dogmat, které byste si přál bezhlavě následovat.

Metody tříd jsou formálním způsobem popisu chování objektů
dané třídy. Vychází se z poznatku, že při formálním zápisu
transformace vnitřního stavu objektu uděláme méně chyb, když
popis spojíme s abstrakcí objektu dané třídy. Vychází to ze
zkušenosti, že například v určitém kontextu se celé číslo 
musí chápat jako letopočet a ne jako počet kusů něčeho nebo
jako zcela abstraktní číslo. Až potud nelze nic namítat.

Existují ale situace, kdy chceme s určitou hodnotou pracovat
jako s velmi abstraktní hodnotou -- jaksi bez kontextu --,
kdy jí chceme interpretaci přidělit až v okamžiku
zpracování. Dám příklad. Mnohé reálné objekty lze v určitých
situacích popsat vektorem v trojrozměrném prostoru. 
Přirozeným způsobem můžeme dojít k
nějakému dejme tomu geometrickému úhlu, který je prostě
úhlem bez bližší vazby na konkrétní objekt. Dejme tomu, že
na daný úhel potřebujeme aplikovat to, čemu od základní
školy říkáme funkce sinus. V takové situaci je velmi obtížné
považovat zápis

  objekt.vektor.úhel.sin()
  
za přirozené vyjádření toho, co nás u onoho úhlu daného
objektu zajímá. Mnohem přirozenější pro nás je zápis, kdy se
úhel stane argumentem obecné funkce sin().

 Každý má jiný pohled na věc a jiná očekávání.
 Podle mého názoru je přístup typu
 ','.join(kontejner) možná na první pohled
 nezvyklý, ale na druhý pohled je velmi logický.
 Jde o to, že dokáže spojit zadaným řetězcem prvky
 dodané jakýmkoliv kontejnerem, který podporuje
 iteraci a který vrací řetězcové prvky.
 
 Zajisté, pro implemetátora má smysl to definovat
 na jednom místě. Takže by byl dobrý mixin nebo
 třída která implementuje metody nad iterabilními
 kontejnery, a ty iterabilní kontejnery podědí nebo
 si ty metody mixnou.

Tohle je jen technický detail, který umožní svázat nějakou 
operaci s nějakou třídou objektu. Pořád bychom si měli
uvědomovat, že tečková notace používaná u OO jazyků je pouze
notací, která má usnadnit vnímání náležitosti metod k
objektům. Taková notace je přínosná v situacích, kdy máme
pocit, že je její přínos přirozený. Tím mám na mysli to, že
zápis pokud možno snadno pochopí i ten (se stručným návodem),
kdo takový zápis vidí poprvé.

 Ale když pracujete tak chcete psat něco jako
 
 neco.jeho_kolekce.transform.sort.jeste_transform.join

Tohle považuji za poměrně nešťastné v jakémkoliv OO jazyce.
Přesněji, netýká se to jazyka, ale jeho používání. Nezávisle
na tom, zda se jedná o reference nebo ukazatele... Pokud má
transformace join probíhat na konci uvedeného řetězu, pak
musí být zajištěno, že předchozí transformace nějak
neselžou. To z hlediska robustnosti kódu nemusí být tak
samozřejmé.

 a nemáte chuť psát
 
 join(neco.jeho_kolekce.transform.sort.jeste_transform)

Tady je potřeba si uvědomit, že metoda str.join(), o které
se tady bavíme, je velmi specifická v tom smyslu, že jde o
metodu, která má spojovat několik podřetězců do jednoho
řetězce. Je tedy specifická v tom, že pracuje nad řetězci
ve velmi abstraktní podobě a že výsledkem je zase čistý
řetězec. V souvislosti s výše uvedeným příkladem úhlu a
funkce sinus je to něco podobného.

 obzvláště když ten řetězec chcete na tečce dále
 zpracovávat.
 
 neco.jeho_kolekce.transform.sort.jeste_transform
 .join.strip.jiny_transform.split

Přehlédl jste ale jeden detail. Na začátku celé transformace
vystupuje objekt nějakého typu, který se postupně
transformuje do kolekce řetězců. Potom následuje změna velmi
specifické kolekce řetězců na velmi abstraktní typ
řetězec. Další operace probíhají nad abstraktním řetězcem.

 když to pak přepíšete do závorkové notace, tak je
 to nečitelné, protože v závorkové notaci se píše
 doleva a v tečkové doprava. Pár takových závorek v
 tečkovaném výrazu a nevyzná se v tom ani zvíře
 které to má v popisu práce.

Tohle není věc tečkové/závorkové notace. To je věc
přehledného zápisu programu.

 A nebo jinak. Kolikrát v životě jste potřebovali
 aplikovat join na řetězec v tečce? Já si
 nepamatuju jediný případ.

Osobně mi kroutí mozkem vyjádření aplikovat join na řetězec
v tečce

Re: [python] Kniha dive into python3

2011-02-22 Tema obsahu Petr Přikryl

No, taky jsem byl zvědavý.  Představoval jsem si,
že by ta sazba mohla dopadnout líp :(
Tak snad se vám bude líbit aspoň ten věcný obsah.

P.
__
 Od: David Rohleder 
 Komu: Konference PyCZ python@py.cz
 Datum: 21.02.2011 11:57
 Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3

Super, ještě přidám odkaz:
http://knihy.nic.cz/

jsem moc zvědavý, jak to dopadlo.

D.

rainbof píše v Po 21. 02. 2011 v 10:33 +:
 Viola... 
 -- Přeposlaná zpráva --
 Od: Zuzana Pochopová via RT podp...@nic.cz
 Datum: 
 Předmět: [CZ.NIC #107337] kniha dive into python3
 Komu: rain...@gmail.com
 Kopie: 
 
 
  Vazeny zakazniku,
  
  
  
  kniha Dive into python dnes prave vysla a jeji prodej bude zahajen
 behem dneska
  
  ci zitrka.
  
  
  
  S pozdravem
  
  
  
  --
  
  Zuzana Pochopova
  
  supervizor zakaznicke podpory
  
  
  
  CZ.NIC, z. s. p. o.
  
  Americka 23, 120 00 Praha 2
  
  --
  
  
  
  T +420 222 745 126
  
  +420 222 745 111
  
  F +420 222 745 112
  
  e-mail : zuzana.pochop...@nic.cz
  
  www.nic.cz
  
  --
  
  
  
  www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):
  
   Vazeny pane Rainbofe,
  
  
  
   Vase zprava byla prijata pracovnikem zakaznicke podpory a predana
  
   kompetentni
  
   osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.
  
  
  
   Dekujeme Vam za pochopeni a jsme s pozdravem
  
  
  
  
  
   --
  
   Darina Strakova
  
   specialista zakaznicke podpory
  
  
  
   CZ.NIC, z. s. p. o.
  
   Americka 23, 120 00 Praha 2
  
   --
  
   Tel.: +420 222 745 102
  
   +420 222 745 111
  
   Fax: +420 222 745 112
  
  
  
   E-mail: darina.strak...@nic.cz
  
   www.nic.cz
  
  
  
   www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  
  
  
  
  
  
   Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):
  
Dobrý den,
  
   
  
sledoval jsem loni překlad knihy dive into python
  
   
 http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-
  
   into-
  
python-3/ktera
  
ceka na vydani prave ve vasi edici chtel bych se zeptat jak to
  
   vypada
  
s jejim vydanim.
  
  
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Nefunguje mailman?

2011-02-22 Tema obsahu Petr Přikryl

Ahoj všeci,

Ptal se mě kolega, jak se odhlásit z python@py.cz (má to
komplikovanější). Nedokázal jsem mu poradit, protože

http://www.py.cz/mailman/listinfo/python

nějak nefunguje. (404, Nastala chyba DNS. Server nenalezen.
Odkaz může být nefunkční... a takové ty kecy.) 

Můžete se na to někdo mrknout?

Díky,
   P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] (ne)logičnost .join() ?

2011-02-22 Tema obsahu Petr Přikryl

  Něco jak seznam.join(',').  Tohle je naštěstí tak profláknuté, že už
  jsem si zapamatoval že v Pythonu je join metoda toho ',' a ne toho
  pole.

 Tak nie som jedný, komu sa zdá, že to má Python opačne. :-)

já jsem stráášně rozmlsaný z Ruby kde všechno má svou logiku.  Po
nějaké chvíli člověk začne psát příkazy/metody intuitivně bez
konzultace s dokumentací a všechno funguje.

Každý má jiný pohled na věc a jiná očekávání. Podle mého názoru
je přístup typu ','.join(kontejner) možná na první pohled nezvyklý,
ale na druhý pohled je velmi logický. Jde o to, že dokáže spojit
zadaným řetězcem prvky dodané jakýmkoliv kontejnerem,
který podporuje iteraci a který vrací řetězcové prvky.

A co se týká volně rozhozených built-in funkcí, ono jich zase
tak strašně moc není. Nezvyklé je to hlavně pro lidi, kteří
pracovali v čistě OO jazyce, který funkce nepodporuje.
Viz tady 

http://docs.python.org/library/functions.html

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] xml.etree.ElementTree a parsovani souboru s namespace.

2010-12-21 Tema obsahu Petr Přikryl
Doporučuji přečíst kapitolu 12 z Dive Into Python 3, konkrétně 
12.4. Parsing XML http://diveintopython3.org/xml.html#xml-parse

12.5. Searching for nodes within an XML document
a konečně 12.6. Going further with LXML (plná podpora XPath 1.0).

Petr
__
 Od: M.B. 
 Komu: python@py.cz

 Datum: 20.12.2010 22:31
 Předmět: [python] xml.etree.ElementTree a parsovani souboru s namespace.

Zdravím,
Začal jsem z nudy přepisovat starší Gtk programy s pomoci GObject
Introspection. Jsem ale líný hledat neustále v XML souborech tak jsem
si chtěl napsat jednoduchý skript na vyparsování informací do nějakého
mě příjemnějšího formátu.Bohužel jsem XML soubory parsoval jen zřídka a
tyhle namespaces mi dělají potíže. Nemůžu z nich nic dostat.

Př:
---
#encoding: utf-8
from xml.etree import ElementTree as XML
root = XML.parse('/usr/share/gir-1.0/Avahi-0.6.gir').getroot()
print root

def normalize(name):
   if name[0] == '{':
       uri, tag = name[1:].split('}')
       return uri, tag
   else:
       return name
   
namespace = normalize(root.tag)[0]
print namespace
clases = root.findall('{' + namespace + '}' + 'namespace/class')
print clases

Prosil bych o nějaké nakopnutí správným směrem.
Díky.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] vytvoření proměnných

2010-12-21 Tema obsahu Petr Přikryl

Tady je trošku problém, že není jasné, co se tím vlastně myslí.
Co se myslí zápisem
   x = {p1, p2, p3, ...pn}
   y = {h1, h2, h3, ...hn}

Je to jen symbolické?  Jsou p1, p2, ... pn řetězce, které vyjadřují
jména chtěných proměnných?

V Pythonu je každá proměnná pouze beztypovou nepojmenovanou
referencí na cílový objekt. Ta reference je vložena do některého ze 
systémových slovníků, přes které je spojena s nějakým jménem.


Takže jedna odpověď by mohla vypadat takto:

    p1, p2, p3 = h1, h2, h3

Ale p1, p2, p3, ... nelze zachytit do jiné struktury jménem jinak,
než že se uloží řetězcová jména proměnných. V opačném případě
jsou ve struktuře uložené jen ty reference, které se shodují s těmi,
které se pamatují pro jména p1,... Ale reference uložená v jiné
struktuře nemá žádnou přímou vazbu na jméno proměnné.

Chtělo by to uvést kontext, v jakém to řešíš.

Petr
__
 Od: Ing. Vladislav Ludík 
 Komu: Konference PyCZ 
 Datum: 21.12.2010 00:45

 Předmět: [python] vytvoření proměnných

Zdravím všechny,

poradí někdo účinnou a jednoduchou metodu vytvoření spojení názvů 
proměnných s jejich hodnotami:


x = {p1, p2, p3, ...pn}
y = {h1, h2, h3, ...hn}

kde p jsou proměnné a h jsou jejich hodnoty.

Výsledkem by měly být deklarované proměnné s jejich hodnotami:
p1 = h1
p2 = h2
p2 = h3
.
.
pn = hn


Díky, zdraví

V.L.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] co se stalo s Dive into python ?

2010-12-16 Tema obsahu Petr Přikryl

Byl to Jiří Znamenáček?

__
 Od: Jakub Vysoky 
 Komu: Konference PyCZ 
 Datum: 16.12.2010 08:54

 Předmět: Re: [python] co se stalo s Dive into python ?

tuhle prvni stredu v mesici na srazu pratel dynamickych jazyku rikal
jeden z prichozich (ktery ma zrejme s temito veci v nic.cz neco
spolecneho), ze by kniha mela byt brzo vydana. ale bohuzel o terminu
take nic nevim. muzu se zkusit pozeptat..

2010/12/16 Petr Přikryl :
 Překlad jsem odevzdal asi v půlce července. Pokud vím, probíhá sazba,
 ale to už jde úplně mimo mě a netuším v jakém je to stavu ani jakou
 to bude mít podobu. Neznám ani temín vydání.

 Elektronická podoba bude zveřejněna nejspíš až po vydání papírové
 knihy. V podstatě se mi podařilo dosáhnout stejné formy, jako u originálu
 (HTML i PDF přes Prince). Tuto formu ale nepovažuji za vhodnou pro
 přímý tisk knihy.

 Navrhuji zeptat se prostřednictvím http://knihy.nic.cz/ -- vpravo nahoře
 najdete:

     Pište pro edici

     Pokud máte připravené texty nebo se chystáte odbornou knihu napsat, a
 chtěli byste na jejím vydání spolupracovat, obraťte se na nás na e-mailové
 adrese kont...@nic.cz; do předmětu zprávy uveďte heslo knihy.nic.cz.

 Odkažte se, že reagujete na
 
http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-into-python-3/
 a zeptejte se na termín.

 Měj se fajn a přeju krásné svátky,
     Petr

 __
 Od: Ondrej Beranek 
 Komu: Konference PyCZ 
 Datum: 16.12.2010 08:11

 Předmět: [python] co se stalo s Dive into python ?

 Ahoj chtěl bych se zeptat jako to s touhle knihou dopadlo ? je hotova ? da
 se koupit ? stahnout ? rad bych si ji nechal dat k vanocum :D
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python




--
Jakub Vysoky

mob: +420 605 852 377
jab: jakub.vys...@gmail.com
icq: 109248375
twit: https://twitter.com/kvbik
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] co se stalo s Dive into python ?

2010-12-15 Tema obsahu Petr Přikryl
Překlad jsem odevzdal asi v půlce července. Pokud vím, probíhá sazba, 
ale to už jde úplně mimo mě a netuším v jakém je to stavu ani jakou

to bude mít podobu. Neznám ani temín vydání.

Elektronická podoba bude zveřejněna nejspíš až po vydání papírové
knihy. V podstatě se mi podařilo dosáhnout stejné formy, jako u originálu
(HTML i PDF přes Prince). Tuto formu ale nepovažuji za vhodnou pro
přímý tisk knihy. 


Navrhuji zeptat se prostřednictvím http://knihy.nic.cz/ -- vpravo nahoře 
najdete:

    Pište pro edici
    Pokud máte připravené texty nebo se chystáte odbornou knihu napsat, a  
chtěli byste na jejím vydání spolupracovat, obraťte se na nás na  e-mailové 
adrese kont...@nic.cz; do předmětu zprávy uveďte heslo „knihy.nic.cz“.

Odkažte se, že reagujete na 
http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-into-python-3/
a zeptejte se na termín.

Měj se fajn a přeju krásné svátky,
    Petr

__
 Od: Ondrej Beranek 
 Komu: Konference PyCZ 
 Datum: 16.12.2010 08:11

 Předmět: [python] co se stalo s Dive into python ?

Ahoj chtěl bych se zeptat jako to s touhle knihou dopadlo ? je hotova ? da se 
koupit ? stahnout ? rad bych si ji nechal dat k vanocum :D
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

[python] Generator prvku ridke matice (bylo ... nechtene propojeni mnozin)

2010-10-20 Tema obsahu Petr Přikryl

Pro Python 2.x by se to dalo ještě upravit (viz dole).

Jirka Vejrazka napsal
    for i in [(a,b) for a in range(1,10,2) for b in range(5,20,5)]:
  
  Kdyz tady pouzijes na krajich kulate zavorky misto hranatych, tak se
  to nevyrobi cele v pameti, ale vznikne generator, ktery se pak da
  pouzit uplne stejne pro for cyklus:
  
  Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on 
  win32
  Type help, copyright, credits or license for more information.
  
 |  x = [(a,b) for a in range(1,10,2) for b in range(5,20,5)]
 |  x
 | [(1, 5), (1, 10), (1, 15), (3, 5), (3, 10), (3, 15), (5, 5), (5, 10), (5, 
15),
 | 
 |  x = ((a,b) for a in range(1,10,2) for b in range(5,20,5))
 |  x
 | 
 
a.py
==
g = ((a,b) for a in xrange(1,10,2) for b in xrange(5,20,5))

def genFunc(x, y):
    for a in xrange(1, x, 2):
    for b in xrange(5, y, 5):
    yield (a, b)
    
for t in g:
    print t,
    
print    
print '-' * 60

for t in genFunc(10, 20):
    print t,
==
 
Místo range() použij xrange() -- i když tady ta úspora je maličká (jen z 
principu).
To je ten generátor přiřazený do g -- jak ukazoval Jirka.

Generátorová funkce genFunc vrátí stejný generátor. Je to jiné jen syntakticky.
Tady jsou navíc doplněny jen parametry, aby se to dalo použít pro různé hodnoty
x a y a nemuselo se to furt opisovat. Zavoláním genFunc vznikne podobný
generátor, jako g.  U mě to zobrazí následující:

==
C:tmppython a.py
(1, 5) (1, 10) (1, 15) (3, 5) (3, 10) (3, 15) (5, 5) (5, 10) (5, 15) (7, 5) (7, 
10) (7, 15) (9, 5) (9, 10) (9, 15)

(1, 5) (1, 10) (1, 15) (3, 5) (3, 10) (3, 15) (5, 5) (5, 10) (5, 15) (7, 5) (7, 
10) (7, 15) (9, 5) (9, 10) (9, 15)
==
 
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] jmeno pro [neco for neco] (bylo nechtene propojeni mnozin)

2010-10-20 Tema obsahu Petr Přikryl


MICHÁLEK Jan Mgr. napsal

 [...]
 
 Jde tedy to nějak vymyslet, abych udělal ten generátor, kterej si bude pamatovat 
jen aktuální hodnoty x a y, aniž bych musel použít smyčku?? 


Ta věc [něco for něco] (menuje se to generátor pole??) 


Anglicky se to jmenuje list comprehension, čili skládač seznamu.
V překladu Dive Into Python 3 jsem ve spolupráci se zdejšími borci dospěl
k českému...

5.3 GENERÁTOROVÁ NOTACE SEZNAMU
Generátorová notace seznamu (anglicky list comprehension [list
komprihenšn]) umožňuje stručný zápis vytvoření seznamu z jiného
seznamu aplikováním funkce na všechny prvky zdrojového seznamu.
(Poznámka překladatele: Pojem „list comprehension“ je znám z
deklarativních jazyků a má charakter syntaktické konstrukce. V jazyce
Python se „vnitřku“ deklarativního zápisu podobá generátorový výraz.
Tímto způsobem byl odvozen český pojem „generátorová notace“.
Někdy je pojem „list comprehension“ použit v procedurálním,
dynamickém smyslu. V takové situaci můžeme uvažovat o pojmu
„generátor seznamu“. Pokud se bavíme o jeho výsledku, můžeme
uvažovat i o pojmu „generovaný seznam“. Vzhledem k tomu, že
zavedený český pojem pro tuto konstrukci asi neexistuje —
studentům příslušných oborů vysokých škol přijde po krátké 
chvíli anglický pojem srozumitelný —, budu volněji
používat některou z uvedených variant. Někdy budu poněkud 
dlouhý pojem „generátorová notace seznamu“

zkracovat. Kritériem volby bude dobrá srozumitelnost.)

Podobně existuje dictionary comprehension a set comprehension.


Nebo to jde nějak občůrat (například použít místo range() generátor)??


Už jsem to posílal jako reakci na odpověď Jirky, ale ono Ctrl-V zase tolik
práce nedá ;)

g = ((a,b) for a in xrange(1,10,2) for b in xrange(5,20,5))

def genFunc(x, y):
    for a in xrange(1, x, 2):
    for b in xrange(5, y, 5):
    yield (a, b)
    
for t in g:

    print t,
    
print    
print '-' * 60


for t in genFunc(10, 20):
    print t,


Petr


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Petr Přikryl

Hynek Fabian napsal...
  Pol, Leos (Thursday 14 October 2010 12:56:13):
   Fuj, takhle pisou ceckari :-)
   R0 = list(range(8))
   
   Fuj, proc z listu znova delat list ;-)

  Protoze jsem se kdysi davno nekde docetl o planech sloucit range() a 
  xrange(), 
  a zvykl jsem si v ramci dopredny kompatiblility explicitne si delat list tam 
  kde chci vic nez jen iterovat pres generator.
  Plany byly bud zavrzeny nebo uplne blby, nevim, ale zvyk mi uz zustal.
  A ted me omluvte, jdu se stydet do kouta.

Není zač se stydět. V Pythonu 3 to tak skutečně je.
Funkce range() je generátorová funkce a samo to seznam neudělá.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] issue a spol.

2010-10-06 Tema obsahu Petr Přikryl

Zdravím,



Poraďte mi prosím, jak přeložit sousloví issue tracker.




Bude to něco jako seznam problémů. Máme český adekvát?


Překládám teď Producing Open Source   Software 
http://producingoss.com/ a tam se zas vyskytuje bug tracker s tím, že mnohdy ty nástroje 
splývají.

Přeložil jsem to zatím jako systém pro sledování chyb s uvedením bug tracker v závorce. 
Slovo issue tady asi znamená problém, ale jistý si tím nejsem. Jsem toho názoru, že 
tyhle věci čtou lidi, kteří aspoň tuší, o co jde. Issue tracker se tam asi taky nebude vyskytovat 
mnohokrát. Pokud ten překlad není úplně ujetý a sem tam se do závorky (podle uvážení) uvede 
anglický originál, asi ti nikdo nadávat nebude.


Ještě mě napadlo: Jak to dopadlo s překladem Dive into Python 3, lze jej někde 
číst?


Je to přeložené už skoro čtvrt roku, ale zatím to není dostupné. Sází se to a 
bude to k dispozici v PDF. Už je to mimo moje ruce, takže s tím víc neudělám.

Měj se,
    Petr

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

  1   2   >