[PIPython] problema script Python

Carlo C8E Miron carlo.miron
Lun 9 Maggio 2005 09:55:06 CEST


Caro fr.p,

mi secca fare il rompiscatole della situazione, ma se davvero
vuoi essere aiutato, aiutaci ad aiutarti. Oltre alla preziosa
risorsa della mia mail precedente (di cui ti rinnovo l'invito
alla lettura) ti consiglio questa:
http://bertola.eu.org/usenet/faq/testi/crosspost.txt
Magarti non risolve il tuo problema contingente, ma
sicuramente ti aiutera' a risolvere i futuri problemi.

Il 09/05/05, fr.p a libero.it<fr.p a libero.it> ha scritto:
> Salve,
> anche inserendo il debug nel seguente script Python:
> #cerco le occorrenze di pos
> num = 0
> raise 'debug', context.getpos()
> for result in context.getpos():
>     if pos == result.pos: num += 1
> return num
> 
> non ottengo i risultati sperati, infatti lanciando lo script e inserendo qualsiasi valore nel campo pos ottengo errori del seguente tipo:
> Error Type: debug
> Error Value: <Shared.DC.ZRDB.Results.Results instance at 0x0........>

Fammi capire. Quale risultato speravi di ottenere? Secondo me
questo e' *esattamente* il risultato che *io* mi attenderei da
quel codice...

> mentre se inserisco il seguente codice:
> def search(pos):
>    num=0
>    for result in [1,5, 3, 2, 5, 5,3, 3]:
>         if pos == result: num = num + 1
>    return num
> 
> for i in range(1,6):
>    print i, search(i)
> non viene restituito alcun valore. 

Ottimo. Quindi *probabilmente* il problema e' altrove. Infatti::

Out[2]:'def search(pos):\n   num=0\n   for result in [1,5, 3, 2, 5,
5,3, 3]:\n       if pos == result: num = num + 1\n   return num\n'
In [3]:for i in range(1,6): print i, search(i)
   ...:
1 1
2 1
3 3
4 0
5 3

Questo codice, eseguito da *python* (che, incidentalmente, 
e' l'argomento di questa mailing list), restituisce i valori corretti.
Evidentemente il problema e' "lato zope", e ti consiglio di concentrare
i tuoi sforzi sulla manualistica e sulla mailing list relative.

<speculation>
Non che sia possibile descumelo dai tuoi snippet, ma *secondo me*,
a naso, il tuo problema risiede nel fatto che l'oggetto pos (di cui
astutamente nascondi ogni informazione utile) non e' confrontabile
con un intero. Infatti, per esempio::

In [4]:search("5")
Out[4]:0

> Io lancio il seguente script Python dallo Zope Management Interface di Zope con la versione di Zope 2.7.4.

Vedi sopra relativamente all'off topic.

> Non ho capito il discorso della shell Python e di dove viene effettuato il test $python test.py. 

Ho il vago sospetto che sia dura aiutarti, se hai deciso che *non vuoi*
documentarti minimamente su python...

> Io ho solo installato Zope e non Python e Perl.

AH! Ho capito! Perche' non l'hai detto prima?? tu hai la nuovissima
versione "Pythonless Zope", riscritta completamente in C (o in
brainf*ck, non ricordo..). Quindi, riguardo a *questa* ML, bla bla bla.

> In attesa di un gentile riscontro, porgo distinti saluti.

riscontro. saluti.
(c)

-- 
Disclaimer:
If I receive a message from you, you are agreeing that:
1. I am by definition, "the intended recipient".
2. All information in the email is mine to do with as I see fit and
 make such financial profit, political mileage, or good joke as it
 lends itself to. In particular, I may quote it on USENET or the WWW.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
 may be included on your message.


More information about the Python mailing list