[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