[python] vytvoření proměnných

"Ing. Vladislav Ludík" vlada na ludik.cz
Úterý Prosinec 21 20:25:56 CET 2010


Mám stovky tabulek s různou strukturou , které vstupují do stránek. 
Některé hodnoty se zobrazují přímo a některé se modifikují,

Na začátku ani nevím, jaké sloupce tabulka má a jak budou modifikovány. 
Tímto si jen ulehčím zápis v programu.:

    tab = 'tabulka'
    SQL = 'DESCRIBE `%s`' % tab
    vysledek = sql(SQL)    # moje funkce sql(SQL) vykoná SQL příkaz

    pole = {}   # zde uložím název sloupce a jeho typ

    for radek in vysledek:
        Field, Type, Null, Key, Default, Extra = radek
        pole[Field] = Type

    select = pole.keys()   # seznam sloupců
    typy = pole.values()   # seznam typů
   
    SQL = 'SELECT * FROM `%s`' % tab
    vysledek = sql(SQL)
   
    # využití různé, například jako přehled dat
    for radek in vysledek:
        for i in range(len(select)):
            print '%s = %s' % (select[i],radek[i])

Taky můžu ve formátování brát ohled na typ atd.

V.L.

Jakub Vysoky napsal(a):
> omlouvam se, ale neodpustim si otazku, k cemu to chcete pouzit. exec
> urcite muze mit nekdy sva opodstatneni, proc jej pouzit, ale asi
> bychom se k nemu meli uchylovat jen v opravdu nejkrajnejsich
> oblastech.
>
> jde vam jen o to si neco vyzkouset, nebo toto skutecne chcete pouzit v
> nejakem produkcnim kodu? tam bych spis doporucil pouzit dictionary,
> jak zminovali kolegove prede mnou.
>
> abych jen nementoroval: pro vas konkretni pripad by jeste byla moznost
> modifikovat globals() [1], ale asi bych se na to koukal podobne jako
> na ten exec.
>
> [1] http://www.faqs.org/docs/diveintopython/dialect_locals.html#dialect.locals.readonly.example
>
> mejte se.
>
> 2010/12/21 "Ing. Vladislav Ludík" <vlada na ludik.cz>:
>   
>> Funguje to skvěle:
>>
>> x = ['a','b','c','d','e','f']
>> y = ['1','2','3','4','5','6']
>>
>> for element in zip(x,y):
>>   exec ( '%s = %s' % element)
>>
>> print a, b, c, d, e, f
>> 1 2 3 4 5 6
>>
>> print a + b + c + d + e + f
>> 21
>>
>> V.L.
>>
>> Lansky, Milan napsal(a):
>>     
>>> exec(p1 + '=' + str(h1))
>>>
>>> -----Original Message-----
>>> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of
>>> "Ing. Vladislav Ludík"
>>> Sent: Tuesday, December 21, 2010 12:45 AM
>>> To: Konference PyCZ
>>> Subject: [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 na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>>
>>> This e-mail and any attachment is for authorised use by the intended
>>> recipient(s) only. It may contain proprietary material, confidential
>>> information and/or be subject to legal privilege. It should not be copied,
>>> disclosed to, retained or used by, any other party. If you are not an
>>> intended recipient then please promptly delete this e-mail and any
>>> attachment and all copies and inform the sender. Thank you.
>>>
>>>
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> __________ Informace od NOD32 5721 (20101221) __________
>>>
>>> Tato zprava byla proverena antivirovym systemem NOD32.
>>> http://www.nod32.cz
>>>
>>>
>>>
>>>
>>>       
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>>     
>
>
>
>   

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20101221/25049b9c/attachment.html>


Další informace o konferenci Python