Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Python i njegovi izuzeci

[es] :: Python & Zope :: Python i njegovi izuzeci

[ Pregleda: 1825 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Python i njegovi izuzeci03.03.2004. u 19:37

Code:

 result = self.cursor.fetchone()

Funkcija fetchone() vraća tuple koji, igrom slučaja sadrži samo jedan element; dakle vidi se kao, npr. (6L,). Zanimljivo je da:
Code:
result[0]

radi, a da
Code:
self.cursor.fetchone()[0]


ne radi, odnosno daje not subscriptable  izuzetak, iako bi po svoj prilici te dve stvari trebale da daju istovetan rezultat 6L. Zašto je to tako?

f

03.03.2004. u 19:37 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13032
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: Python i njegovi izuzeci03.03.2004. u 20:01
Zato što je to jezik za zezanje i pravljenje prototipa programa na brzinu, pa se to posle napiše u nečem ozbiljnom poput perla da radi kako valja.

grmbh
03.03.2004. u 20:01 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: Python i njegovi izuzeci03.03.2004. u 20:08
"Gojko Vujovic" wrote:
Citat:
Zato što je to jezik za zezanje i pravljenje prototipa programa na brzinu, pa se to posle napiše u nečem ozbiljnom
Aaaaaa... sad je meni jasno!

f

p.s. Naravno na ovu poruku odgovaram samo da bih video šta će news server da uradi s njom...

f

03.03.2004. u 20:08 

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Python i njegovi izuzeci04.03.2004. u 14:07
Zanimljivo, kod mene radi korektno.
Code:

db=MySQLdb.connect(...)
...
c=db.cursor()
c.execute("""SELECT ...""")
print c.fetchone()[0];

Pretpostavljam da ti je self.cursor isto što i kod mene c?
04.03.2004. u 14:07 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.decis.nl

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: Python i njegovi izuzeci04.03.2004. u 17:08

Citat:
Zanimljivo, kod mene radi korektno
Čini mi se da nisi razumeo o čemu se radi; moguće da nisam dovoljno naglasio. Upit u SQL bazu radi i to uopšte nije predmet pitanja.

Ali u slučaju da postoji samo jedan ulaz u tabelu, dakle kad je rezultat oblika (ulaz,), on se ne može pokupiti direktno referenciranjem nultog elementa tabele, već se prvo taj rezultat mora  proslediti u promenljivu.

Code:
a = self.cursor.fetchone()[0] 
 

ne radi ali zato ovo radi:

Code:
var = self.cursor.fetchone()
 a = var[0]  


iako je kod ekvivalentan. Napominjem da se ovo dešava samo kad upit proizvede tabelu dužine 1. Ako tabela ima dužinu 2 ili više, gornje dve stvari rade istovetno.

f

04.03.2004. u 17:08 

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Python i njegovi izuzeci04.03.2004. u 18:53
Da, u pravu si - promakao mi je ovaj uslov 'jedan ulaz u tabelu'.

U svakom slucaju, kad sam promenio SELECT da radi upit po jednoj koloni (dakle fetchone() vraca tuple sa jednim elementom) i dalje je radilo c.fetchone()[0],
a radilo je i kada sam upit ogranicio da daje samo jedan red tabele, kao i kad sam c stavio da bude promenljiva instance klase.

Mozda je razlika u verziji python-a - kod mene je 2.2.1 na Linux-u.

Inace, kod gore sam naveo da pokazem kako sam dosao do promenljive c - ne poznajem dovoljno python tako da nisam siguran da se do kursora ne moze doci na neki drugi nacin.
04.03.2004. u 18:53 

[es] :: Python & Zope :: Python i njegovi izuzeci

[ Pregleda: 1825 | Odgovora: 5 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.