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" <vl...@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-boun...@py.cz [mailto:python-boun...@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@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@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@py.cz
http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python