Re: [Python] Strumenti per automatizzare operazioni su pagine web

2011-04-18 Thread Marco De Paoli
la documentazione non è propriamente ordinata
ad ogni modo se sei interessato a

> Un esempio più concreto di quello che voglio fare è questo:
> -vai su www.google.it
> -cerca l'elemento che si chiama q
> -inserisci in q "python"
> -cerca l'elemento che si chiama btnG
> -simula un click sull'elemento btnG

puoi provare qui
http://wwwsearch.sourceforge.net/mechanize/forms.html

c'è anche una ML in inglese abbastanza attiva

Uso mechanize da un po di tempo e non ho avuto particolari problemi

Marco

2011/4/17 Balan Victor 

> ho installato mechanize. Sto cercando di capire qualcosa ma la
> documentazione ufficiale non mi è molto chiara, inoltre cercando un po su
> google non ho trovato molti rifermenti a questa libreria. Qualcuno conosce
> qualche tutorial/guida?
>
> Il giorno 15 aprile 2011 10:27, Riccardo Lemmi  ha
> scritto:
>
> Balan Victor wrote:
>>
>> > salve,
>> > ho la necessità di automatizzare alcune operazioni su pagine web come
>> login
>> > automatici, ricerca di testo, verifica presenza immagini. Probabilmente
>> > qualcuno mi suggerirà urllib2, tuttavia urllib prevede anche la
>> conoscenza
>> > dei protocolli http, https, gestione cache e  cookie ecc. protocolli e
>> > operazioni che non conosco abbastanza bene per usare urllib. Io ero in
>> cerca
>> > di qualche strumento, libreria o qualunque cosa che mette a disposizione
>> > "funzioni" già pronte e/o da integrare con codice python.
>> >
>> > Un esempio più concreto di quello che voglio fare è questo:
>> > -vai su www.google.it
>> > -cerca l'elemento che si chiama q
>> > -inserisci in q "python"
>> > -cerca l'elemento che si chiama btnG
>> > -simula un click sull'elemento btnG
>> >
>> > grazie
>>
>> Se devi interagire con la pagina ti serve mechanize oppure selenium:
>>  http://pypi.python.org/pypi/mechanize
>>  http://pypi.python.org/pypi/selenium
>>
>> selenium lo consiglio se devi testare il sito nel browser, cioè guardare
>> anche
>> come viene renderizzato (o se stai usando il javascript per alcune
>> funzionalità).
>> --
>>Riccardo Lemmi
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Strumenti per automatizzare operazioni su pagine web

2011-04-18 Thread Marco De Paoli
2011/4/18 Riccardo Lemmi 

>
> Spesso basta un set_trace() nel codice per dare uno sguardo all'oggetto
> Browser
> e capire come è fatta la pagina o come recuperare la form che si vuole
> gestire.
>

condivido

ti segnalo anche questo
http://wwwsearch.sourceforge.net/mechanize/hints.html#logging

se vuoi dare un occhiata un po' "sotto il cofano"

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Re: psycopg, cursori e connessioni: tenere occupato un id

2011-05-17 Thread Marco De Paoli
ehm, non sono sicuro di aver capito l'esigenza iniziale

forse il problema nasce dal volere usare l'identificativo numerico del ddt
anche come chiave primaria

...perché non tenere due campi distinti?

siano essi: id (vera e propria chiave primaria, tendenzialmente trasparente
all'utente), numero_documento (il numero che l'operatore vede e che viene
poi stampato sui report cartacei: quest'ultimo è quello che l'operatore
considera "numero del ddt")

in questo modo la chiave primaria id la puoi inizializzare/alimentare subito
con una sequence senza bisogno di lock o altro (meccanismo semplice ed
efficente, trovi un sacco di doc ...io ho presente oracle ma immagino che in
posgress il giro sia simile)

il ddt nasce in bozza, e tale rimane fintanto che l'operatore conferma i
dati e "registra" il ddt, solo a quel punto il ddt viene "battezzato" e
riceve un numero_documento univoco

in questo modo non hai il problema di assegnare degli id e poi doverli
revocare (e recuperare/riutilizzare) perché l'operatore cambia idea

L'unico problema che ti rimane è valorizare il campo numero_documento una
volta che l'operatore ha confermato. Beh, qui puoi usare il giro che ti è
già stato detto:
 * lock tabella
 * update set numero_documento=(select max(numero_documento)+1) where id =
 * commit

Da notare che il campo numero_documento può essere tranquillamente
classificato come unique su db. Infatti l'rdbms garantisce che il vincolo
sia soddisfatto esclusivamente sulle righe valorizzata. Questo significa che
puoi permetterti di tenere un numero arbitrario di ddt in bozza senza
fastidi. Sarà l'rdbms poi a garantire che se hanno un valore allora questo è
univoco (anche qui ho presente oracle ma immagino che per posgress sia lo
stesso)

spero di essere stato chiaro, altrimenti chiedi
Marco

2011/5/17 Daniele Varrazzo 

> On Tue, 17 May 2011 08:32:46 +0200 (CEST), "marco...@libero.it"
>  wrote:
> > La notte mi sa che ha portato consiglio.
>
> [snip di deliri con 3 tabelle da tenere in sync]
>
> Meglio se mangi più leggero a cena.
>
>
> --
> Daniele Varrazzo - Develer S.r.l.
> http://www.develer.com
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [postgresql-it] psycopg, cursori e connessioni: tenere occupato un id

2011-05-30 Thread Marco De Paoli
> per l'INSERT, utilizzo la serializzazione delle transazioni (grande
> feature)

ma e la numerazione? la fai con un max+1?

> per l'UPDATE di documenti già inseriti utilizzo il lock (non della
> tabella, ma della riga specifica)

certo, in questo caso non serve lockare tutta la tabella...
anzi non serve neanche lockare la singola riga, visto che l'update
acquisisce un row exclusive lock implicito

> l'unica cosa che non riesco a capire è questo.
> Secondo la documentazione (se ho letto bene), quando una transazione
> trova la riga lockata, dovrebbe tornare un errore.. invece a me resta in
> attesa dello sblocco e poi continua.

questo è il comportamento di default su oracle (e, sicuramente, anche
su Postgres)
per avere, al posto dell'attesa, l'uscita con errore, puoi usare, su
oracle, l'opzione "no wait" (su Postgres non so come si fa)

...ehm, stiamo finendo un po' OT...

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Scrivere su file

2011-06-03 Thread Marco De Paoli
f.write =('titolo')

invece che una chiamata di funzione stai cercando di fare un assegnamento...

Marco

On Fri, Jun 3, 2011 at 4:07 PM, Freeze NorthPole wrote:

> Ciao a tutti,
> sto provando a scrivere un programmino che mi permetta di scrivere su
> file i dati presi in input
> ma mi imbatto in un errore che capisco poco, vi riporto i nbasso sia
> il "codice" che l'errore
> avete suggerimenti?
> Grazie mille a tutti
> inizio script---
> titolo = raw_input('Immetti il titolo della pagina: ')
> f = open ("link.html","w")
> f.write("")
> f.write =('titolo')
> f.write("")
>
>
> f.write("")
> f.close()
> fine script---
> inizio Errore---
> Traceback (most recent call last):
>  File "C:\Documents and Settings\Supporto\Desktop\link.py", line 4, in
> 
>   f.write =('titolo')
> AttributeError: 'file' object attribute 'write' is read-only
> fine errore---
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Background su windows

2011-06-07 Thread Marco De Paoli
dopo aver lanciato lo script vorresti riottenere il command prompt (ossia un
comportamento simile alla '&' su linux), oppure vorresti un esecuzione senza
bisogno di alcuna finestra di comandi?

volevo essere sicuro di aver capito...

Marco

2011/6/7 Valerio Pachera 

> Ciao a tutti, come faccio a far girare uno script python in background
> su windows xp?
>
> Su linux mi basta mettere la '&' al termine del comando.
>
> Grazie.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] C'è nessuno?

2011-06-16 Thread Marco De Paoli
>
>  > Pensate a fare le slide, voi due cazzoni™.
>> >
>> > ©
>>
>>
>> ho quasi fatto tranquillo...
>
>
> domani comincio
> S
>

ma va là, ammetti che le hai già fatte per CodeMotion ;-)

(per la cronaca io sono il tuo Talk Manager in sala Big Mac :-)

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] C'è nessuno?

2011-06-16 Thread Marco De Paoli
2011/6/16 Simone Federici 

> ma va là, ammetti che le hai già fatte per CodeMotion ;-)
>> (per la cronaca io sono il tuo Talk Manager in sala Big Mac :-)
>>
>
> Ciao Marco,
> ammetto di aver fatto qualcosa per il Cod Emotion,
> e di essermi altamente ispirato all'abstract del talk per javisti
> incalliti.
>

immagino, ovviamente stavo scherzando ;-)
(mi ero visto in streaming il tuo talk al Cod Emotion :-)

Ma per i pythonisti il talk sarà parecchio diverso, almeno nella mia testa.
>
Per il talk su django sono finite le slide, ma quello del 23  ispirato alle
> ali della libertà è in chiave comica, e quindi sono alla seconda slide...
> non che pensi di farne molte di più :-) scherzo, domani giuro comincio
>

ottimo, non vedo l'ora di sentirlo :-)


Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python per HPUX 32 11.00

2011-06-28 Thread Marco De Paoli
c'è gente che usa cx_Oracle su HP-UX
ho visto qualche messaggio passare sulla mailing list
per dubbi sulla relativa compilazione puoi cercare lo storico/chiedere lì

Marco

2011/6/28 Roberto De Ioris 

>
> Il giorno 28/giu/2011, alle ore 12.27, Simone Federici ha scritto:
>
> > Qualcuno ha idea se si trova gia compilata una versione python per un
> parisc a 32 bit?
> > HPUX 11.00
> >
> > poi serve anche cx_Oracle. Oppure avete altre idee per connettersi a
> opracle da python su codesta macchina?
> > ciao
> > ___
> > Python mailing list
> > Python@lists.python.it
> > http://lists.python.it/mailman/listinfo/python
>
>
>
> HP nel suo portale per i partner ha una sezione (dspp) per il software
> opensource.
>
> Se non ricordo male c'e' un python 2.4 (ma non aspettarti altro, per lo
> meno un annetto fa c'era solo questo)
>
> per oracle non ho idea.
>
> --
> Roberto De Ioris
> http://unbit.it
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python per HPUX 32 11.00

2011-06-28 Thread Marco De Paoli
2011/6/28 Simone Federici 

> 2011/6/28 Marco De Paoli 
>
>> c'è gente che usa cx_Oracle su HP-UX
>> ho visto qualche messaggio passare sulla mailing list
>> per dubbi sulla relativa compilazione puoi cercare lo storico/chiedere lì
>
>
> già mi piacerebbe trovare uno che ha usato python sulla 11.00 (dalla 11.11
> in poi c'è)
>

mi dispiace ma macchine HP-UX sono almeno una dozzina di anni che non ne
vedo per cui non so nulla più di così :-(

se riesci a far andare un python, anche solo 2.4, sei già a buono: cx_Oracle
e django a quel punto li hai

posso dirti che cx_Oracle non ha problemi sul 2.4
io lo uso su una CentOS che ha appunto la 2.4 di default (sigh)

M.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python per HPUX 32 11.00

2011-06-28 Thread Marco De Paoli
oracle shared libraries what a pain!

vedi se può esserti utile
http://stackoverflow.com/questions/764871/installing-oracle-instantclient-on-linux-without-setting-environment-variables

e non sottovalutare il consiglio di marcob ;-)

Marco

On Tue, Jun 28, 2011 at 4:17 PM, Simone Federici wrote:

> Cercasi idea disperatamente "Abort(coredump)"
> correggetemi se sbaglio sembra che è l'istant_client di oracle che è
> compilato a c***o..
> S
>
> $ /utility/hpux1100/python/python2.5/bin/python setup.py test
> running test
> running build
> running build_ext
> Running tests for cx_Oracle version 5.1
> user name: oracle
> password: oracle
> TNS entry: tns1
> array size: 100
>
> Running tests in Connection.py
> connection to database with user, password, TNS separate ... /usr/lib/
> dld.sl: Unresolved symbol: in6addr_loopback (data)  from
> /utility/hpux1100/oracle/instantclient_11_1/libclntsh.sl.11.1
> /usr/lib/dld.sl: Unresolved symbol: in6addr_any (data)  from
> /utility/hpux1100/oracle/instantclient_11_1/libclntsh.sl.11.1
> /usr/lib/dld.sl: Unresolved symbol: in6addr_any (data)  from
> /utility/hpux1100/oracle/instantclient_11_1/libclntsh.sl.11.1
> /usr/lib/dld.sl: Unresolved module for symbol: OCIEnvNlsCreate (code)
>  from
> /utility/hpux1100/oracle/cx_Oracle-5.1/build/lib.hp-ux-B.11.00-9000-800-2.5-11g/cx_Oracle.sl
> Abort(coredump)
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Liste con Variabili

2011-07-09 Thread Marco De Paoli
2011/7/10 Matteo Boscolo 

> **
> il problema e' molto simile alla risoluzione di formule in un foglio di
> calcolo ..
>

può farti comodo?
http://code.activestate.com/recipes/355045-spreadsheet/


Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Socket

2011-07-14 Thread Marco De Paoli
2011/7/14 Simone Ziraldo 

> Se durante lo sleep di 15 secondi chiudo la connessione WiFi il server non
> si accorge di niente e rimane ad aspettare su conn.recv(1024)...come posso
> risolvere questo problema? Avete qualche idea?
>

ehm non si tratta di una connessione wi-fi bensì di una connessione TCP/IP
il fatto che sia wi-fi è un dettaglio implementativo, fosse via cavetto
ethernet il discorso sarebbe esattamente lo stesso
(scusa è che se no sembra che le socket abbiano a che fare esclusivamente
con le connessioni wi-fi quando invece sono un astrazione moolto più
generale generale)

venendo al tuo problema: non mi risulta che sia possibile, per risolvere un
problema simile costringevo il client a mandarmi un pachetto di acknowledge
entro tot secondi

in pratica il ruolo di tale pacchetto era esclusivamente quello di segnalare
"sono ancora vivo"

se il server non riceveva dati o acknowledge entro tot tempo assumeva che il
client fosse morto e chiudeva la socket

adesso non ricordo a memoria i dettagli ma più o meno il giro era quello che
ti ho detto (a parte il fatto che l'avevo fatto in C++ invece che in python)

ora mi viene in mente che il mio caso era leggermente diverso: il problema i
client potevano lanciare elaborazioni potenzialmente grosse sul server

ecco perché sul server avevo messo un thread di monitoring che verificava
che il client fosse ancora vivo, in caso contrario killava l'elaborazione
liberando risorse

just my two cents
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] numeri primi

2011-08-02 Thread Marco De Paoli
2011/8/2 matteo 

> P.S.: il codice l'ho elaborato io studiando un po da solo i numeri primi
>

forse può interessarti
http://stacktrace.it/2008/01/progetto-eulero-problema-3/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [JOB] AdRoll assume

2011-09-05 Thread Marco De Paoli
2011/9/5 Carlo Miron 

> 2011/9/5 Simone Federici :
> > 2011/9/5 Valentino Volonghi 
> >> E` parecchio complesso ottenere un visto H1B senza laurea specialistica.
> >> http://goo.gl/f06M
> >
> > Divertente, con H-1B siamo equiparati a delle modelle...
>
> Non a caso Valentino si chiama cosi`.
>

ROTLF
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] salve ragazzi

2011-10-04 Thread Marco De Paoli
ehm, magari funziona meglio se ci dici su cosa precisamente hai avuto
problemi: esempi di codice che non ti funziona, istruzioni che ti danno
errore, concetti specifici che non ti sono chiari, etc.

quando parli di esercizi "classe" intendi cose relative all'istruzione
"class"?
in effetti l'argomento è più o meno sterminato
e ha a che fare con programmazione ad oggetti, ereditarietà, duck-typing,
etc.

posso farti una domanda?
qual'è la tua rotta di avvicinamento a python?
intendo: lo studi per diletto, lo stai studiando a scuola/università/corso?
hai accennato a degli esercizi... segui qualche libro specifico?
come mai python? te lo ha consigliato il professore o lo hai scelto tu?
cosa ci vorresti fare?

scusa, non è per farmi i fatti tuoi è che anche le risposte si tarano meglio
in base al contesto in cui operi/studi

ciao,
Marco

2011/10/4 superfigi...@libero.it 

> Un saluto a tutti gli appassionati di python
> sono un ragazzo di 23 anni e da qualche tempo sto studiando il linguaggio
> di
> programmazione python, sto studiando gli esercizi con classe ma alcuni
> termini
> mi risultano davvero incomprensibili quindi mi chiedevo se mi potreste
> aiutare
> magari con qualche esercizio realizzato con classe e magari spiegarmi
> dettagliatamente le istruzioni.
>
> GRAZIE
> ATTENDO RISPOSTE
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python e xlsx

2011-10-16 Thread Marco De Paoli
2011/10/16 Matteo Perini 

>
> https://bitbucket.org/dowski/**xlsxcessive/src/3c7e734e5c2f/**
> www/homepage.py
>

come puoi vedere tra gli import in testa al file, quello che ti serve è
cherrypy

in pratica hai bisogno di un application server web
in ambiente di produzione tutto ciò dovrà girare dietro un server web vero e
proprio, come ad esempio Apache
ma per prove ed esperimenti puoi usare il server web integrato in cherrypy

quando avvi homepage.py questo si metterà in ascolto su una porta TCP/IP
e con il browsr dovrai accedere alla pagina di default del sito

per capire un po' meglio questa logica puoi vedere e provare a fare
funzionare prima di tutto i primi esempi di cherrypy
capito il giro server-browser che usa cherrypy potrai andare nello specifico
del tuo esempio xlsx

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python e xlsx

2011-10-17 Thread Marco De Paoli
2011/10/17 Matteo Perini 

>  Ho fatto un po' di test e ho capito circa come funziona cherrypy.
> Sono riuscito a far girare vari test, ma sempre utilizzando il "server"
> integrato in cherrypy.
> Vorrei provare ad utilizzare cherrypy sul mio dominio ma (anche se penso di
> si) non ho capito se è possibile!
> Come faccio a far "girare" cherrypy sul mio sito aruba?
>

non so come funzioni aruba, comunque ad occhio dipende dal tuo
profilo/contratto con loro
Infatti oltre ad aver registrato il dominio con aruba devi anche avere
acquistato risorse di calcolo per poter fare girare un sito
oppure potresti aver registrato il dominio su aruba e poi far girare il
server da un'altra parte

qui però non me ne intendo per niente, per quanto ne so io aruba potrebbe
neanche supportare python per cui toccherebbe andare di cgi-bin

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Secondo voi questo corso su Python è valido?

2011-11-14 Thread Marco De Paoli
Il giorno 14 novembre 2011 14:35, Francesco Maida  ha scritto:

> Con la mia attuale preparazione Python credo che farei più danni che
> benefici.
> Se vuoi vedere qualcosa che ho scritto in Python, su GitHub c'è
> questo: http://www.github.com/fmaida/acqua_alta
>

al posto di urllib2 ti consiglio di valutare requests
http://docs.python-requests.org/en/latest/index.html

molto più pythonica essenziale e logica

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Secondo voi questo corso su Python è valido?

2011-11-14 Thread Marco De Paoli
Il giorno 15 novembre 2011 08:52, Francesco Maida  ha scritto:

> Ma difatti in circostanze simili in VB.net se avessi bisogno di
> gestire la cosa avrei sicuramente scritto più funzioni simili
> sfruttando l'overload per scrivere N metodi che accettano N parametri
> di formato diverso e a seconda delle necessità restituiscono una somma
> se gli passi due numeri, un OR binario se gli passi due booleani o una
> concatenazione se gli passi due stringhe.
>

il bello è che in python non avresti avuto bisogno di scrivere "più
funzioni simili"
ne scrivi una sola e va bene per un sacco di tipi di argomenti
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e html

2011-11-24 Thread Marco De Paoli
Il giorno 24 novembre 2011 15:18, Simone Federici  ha
scritto:

> Perchè non ci scriviamo un compilatore python in javascript?
>

Pyjamas?

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e html

2011-11-24 Thread Marco De Paoli
Il giorno 24 novembre 2011 14:59, Nicola Larosa  ha
scritto:

> Nonostante sia la terza piattaforma più popolare, dopo Wordpress e Joomla
> (niente esclamativi per cortesia, sono fuori luogo :-P ), è fatto meglio
> dei due suddetti, e meglio di Plone, e meglio di tutti gli acerbi CMS
> basati su Django, grazie anche alla forza dei numeri, oltre ad
> un'architettura e una comunità attenta alla corretta modularizzazione.
>

in mezzo a tanti altri tentativi più o meno velleitari
mi sembra che merrengue prometta bene
... tra l'altro sarebbe anche basato su django ...
voi ci avete fatto nulla di serio?

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Elenco strade italiane per comune

2012-01-02 Thread Marco De Paoli
> Scusa l'ignoranza, ma a cosa serve la funzione yield ?...
>

http://docs.python.org/reference/simple_stmts.html#the-yield-statement
http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Pararelizzare due loop

2012-01-05 Thread Marco De Paoli
condivido i dubbi degli altri sul fatto che i thread non siano un grande
aiuto nel tuo caso
ad ogni modo segnalo questo
http://eli.thegreenplace.net/2011/12/27/python-threads-communication-and-stopping/
mi sembra ben fatto

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python e Oracle 10g

2012-02-03 Thread Marco De Paoli
ti consiglio cx_Oracle

http://pypi.python.org/pypi/cx_Oracle
http://cx-oracle.sourceforge.net/
http://stackoverflow.com/questions/592/cx-oracle-how-do-i-access-oracle-from-python

Il giorno 03 febbraio 2012 11:58, salvatore monaco <
salvatore.mon...@gmail.com> ha scritto:

> Ciao scusate, qualcuno sa come collegarmi al DB oracle con python ?
> avete esperienza e suggerimenti ?
>
> --
> SM
> http://blog.smitsolution.net
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Virtualenv vs. buildout

2012-03-30 Thread Marco De Paoli
per quanto mi riguarda
virtualenv+pip+requirements a me va già benissimo
sono incuriosito da fabric che prima o poi proverò ad utilizzare

l'unico fastidio di pip è quando voglio replicare un ambiente (env di
virtualenv + progetto django) su una macchina che non ha accesso ad
internet (ma solo intranet) in quanto protetta da firewall

In quei casi, come trasferisco il tar dei miei .py (oppure mi allineo via
repository mercurial), vorrei poter portare in bocco anche tutti i
pacchetti per pip

Ho provato ad usare pip relocate, però non mi sembra che funzioni sempre...
...forse si potrebbe pensare di appoggiarsi alla download-cache sempre di
pip...

Insomma alla fine della fiera, fino ad ora ho proceduto sempre con:
apertura del firewall, pip install -r, richiusura del firewall
... però non è certo il massimo!

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Virtualenv vs. buildout

2012-04-01 Thread Marco De Paoli
Il giorno 30 marzo 2012 13:32, Fabrizio Mancini  ha
scritto:

> I pacchetti per pip li puoi replicare su di una macchina senza accesso ad
> internet tramite la direttiva
> --download-cache=DIR
> Per i sorgenti che sono sotto vcs puoi usare
> --source=DIR
> sempre parte del comando install.
> A quel punto ti porti appresso anche la cartella replica dei sorgenti
> sotto vcs
> ciao fabrizio
>

grazie Fabrizio,
li proverò prima possibile (...per caso hai qualche link a doc specifica?)
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python tools 4 visual studio

2012-04-13 Thread Marco De Paoli
Il giorno 13 aprile 2012 16:03, Gian Mario Tagliaretti <
g.tagliare...@gmail.com> ha scritto:

> Parsing di file XML di svariate centinaia di megabyte
>

con expat [1] fai il parse di giga di roba senza paura

Marco

[1] http://docs.python.org/library/pyexpat.html
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su ubuntu o qualcosa di simile

2012-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2012 14:24, Giuse  ha scritto:

> Qualcuno gentilmente, sa consigliarmi che Ubuntu o simile devo scaricare
> su il mio windows?
> Ne ho due di windows, un vista e un sette.
> Se per favore mi consigliate ve ne sono da vero grato. Considerate che
> voglio programmare con Python non so se questo vi è di aiuto per un
> eventuale consiglio.
>

Beh, se sei abituato con windows, non è necessario che passi ad ubuntu solo
per usare python
puoi scaricarti l'installer di python per windows e via

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su ubuntu o qualcosa di simile

2012-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2012 14:35, Carlos Catucci
ha scritto:

> Male non gli fa usare linux. Impara anche quello.
>

No, certo, male non farebbe di certo, però non vorrei sovracaricare l'OP
se è abituato su windows perché aggiungere anche la difficolta del cambio
di S.O.?
Secondo me le cose si possono anche fare per passi

Python su windows funziona perfettamente

Tieni conto che ci possono essere mille piccole iniziali difficoltà di
contorno (editor, path dei moduli, etc. etc.) che potrebbero scoraggiare
doppiamente nel caso uno non si trovi su un s.o. familiare

Io convivo abbastanza tranquillamente a sviluppare principalmente su linux
ma ogni tanto anche su windows. Purché sia sviluppo in python
Mi pesa di più quando al posto di python sono costretto ad usare altro (es.
C#)

Certo, linux ha una serie di vantaggi intrenseci rispetto a win che alla
fine lo fanno preferire anche a chi viene da win e ha l'occasione di
conoscerlo, però non lo metterei come prerequisito indispensabile per
programmare in python, ecco

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su ubuntu o qualcosa di simile

2012-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2012 15:03, Carlos Catucci
ha scritto:

> Si come ad esempio dover editare una variabile di ambiente PATH (su
> winodws) dopo aver dovutro installare Python (che su tutti gli altri OS e'
> nativo) ed altre chicche simili (tutte non certo a favore di winzy).
>

Non c'è dubbio, linux sia più logico e lineare. E' logico e lineare in
generale e quindi è logico e lineare anche per lavorare in python
Questo è il motivo per cui ormai sviluppo principalmente su linux

Però, ripeto, metterlo come prerequisito indispensabile per che inizia mi
sembra un po' pesantino
Facciamo così, mettiamolo come consiglio spassionato :-)

Il problema è che a un "hello word" di python su linux, per chi arriva da
windows, ci metti qualche ora... ammesso che ci arrivi

Certo, perché l'OP potrebbe prima chiedersi: installo su macchina virtuale?
installo su macchina fisica? installo a fianco di windows? ... meglio
chiedere ad un forum ... uhm aspetta ... forse è meglio se prima ne parlo
con l'amico tizio che smanetta...

Quando invece ad un "hello word" con python su windows ci arrivi in 10
minuti


> Bekl paragone. Come dire: a me piace la lasagna, ma mangio anche iu
> tortelli, pero' se devo ingoiare sane foglie di cactus preferisco evitare :)
>

:-)

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su ubuntu o qualcosa di simile

2012-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2012 15:27, Carlos Catucci
ha scritto:

> Scusa ma c'e' l'equivoco di fondo.  Nessuno lo ha posto come prerequisito
> e inoltre a domanda ho risposto. Se mi fosse stato chiesto se come
> installare python su win avrei risposto in merito.
>

certo, certo, ero andato un po' OT

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su ubuntu o qualcosa di simile

2012-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2012 15:26, Simone Federici  ha
scritto:

> Però se si presenta uno al colloquio di lavoro e dice: "programmo in
> python, non conosco na ceppa di linux."
>
> Io difficilmente mi fiderei :-)
>

Giusto! :-)

M.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Aiuto per testi su machine learning e graph clustering

2012-06-01 Thread Marco De Paoli
Il giorno 31 maggio 2012 22:49, Diego Barrera  ha
scritto:

> Io ho risolto in questo modo:
> -prendo ciascun campo e mi ricavo lo slug;
> -trovo la sottostringa massima comune degli slug che sto confrontando, per
> ciascun campo;
> -a questo punto se il valore percentuale della sottostringa rispetto allo
> slug supera per ciascun campo una soglia minima stabilita, i due
> destinatari sono lo stesso destinatario
>

invece che la sottostringa di lunghezza massima potresti prendere la
distanza di Levenshtein fra le due stringhe:

http://en.wikipedia.org/wiki/Levenshtein_distance

puoi valutare se nel tuo caso sia più significativa.

Puoi implementarti l'algoritmo o usare uno di quelli già disponibili
Googlando ho trovato i seguenti (che non ho verificato):

http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Levenshtein_distance#Python

http://code.activestate.com/recipes/576874-levenshtein-distance/

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] problema reverse sulle liste

2012-06-13 Thread Marco De Paoli
Il 13 giugno 2012 10:33, Matteo Perini  ha scritto:
> Ciao a tutti,
> Mio ritrovo con questo strano(?) problema.
a=['a','b','c']
type(a)
> 
b=a.reverse()
print b
> None

reverse lavora in-place
ossia modifica a stesso, non restituisce risultati
prova a fare il print a dopo il reverse e capirai

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Uso di with

2012-06-14 Thread Marco De Paoli
2012/6/14 piergiorgio pancino 

> ho provato a creare questa classe per provare with, ...
>
> che mi da come risultato:
> Init eseguito
> Enter eseguito
> Sto eseguendo
> Sto eseguendo
> Sto eseguendo
> Sto eseguendo
> Sto eseguendo
> exit eseguito
>
>
oppure, sfruttando yield, potresti fare una cosa del genere...

from contextlib import contextmanager

@contextmanager
def prova_with():
print("init eseguito")
yield
print ("exit eseguito")

def funzione():
return "sto
eseguendo"

with prova_with():
for idx in range(5):
print(funzione())


non è esattamente equivalente al tuo, però mostra un uso di yield associato
a with

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Verifica di aggiornamento File

2012-06-21 Thread Marco De Paoli
Il giorno 21 giugno 2012 12:16, Marco Beri  ha scritto:

> Il giorno 21/giu/2012, alle ore 12:12, Lorenzo Macchiavelli
>  ha scritto:
>
> > No! Lo sto già usando! Funziona perfettamente! :)
>
> Scommettiamo?
>

guardando l'orologio mi sa che siamo prossimi all'ora X :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] richiesta di info su python

2012-06-26 Thread Marco De Paoli
Il giorno 26 giugno 2012 17:04, ALEX  ha scritto:

> Ciao a tutti sono Alessandro,
> sono nuovo e sto' cercando di imparare Python provengo da visual basic ed
> ero abituato quindi a sviluppare software ad interfaccia grafica.
> Con python sto' avendo un sacco di problemi ho bisogno di creare un
> programa ad interfaccia grafica multi piattaforma.
> esiste un libro semplicissimo che spiega passo per passo la programmazione
> di python fino alla compilazione e all' utilizzo di interfacce grafiche?
> esistano dei ritrovi per corsi di presentazione in Toscana?
> vi ringrazio per il vostro aiuto by Alex
>

ciao Alex,
ti consiglio il libro di Marco Beri edito da Apogeo: parte dalle basi ed
arriva fino allo sviluppo di programmi ad interfaccia grafica basati su
wxPython

Buono studio e non farti problemi a chiedere se hai difficoltà,
Marco De Paoli
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] richiesta di informazioni.

2012-06-27 Thread Marco De Paoli
Il giorno 27 giugno 2012 18:50, ALEX  ha scritto:

> sto' cercando di imparare python ma da quale versione mi consigliate di
> imparare visto che esiste la 2.7 e la 3.1?
>

risposta personalissima: 2.7

per tutta la sintassi base sono identici, per cui non rischi di
"incasinarti un domani"

sulla 2.7 sei sicuro di avere tutte le librerie mentre sulla 3.1 rischi che
qualcuna non sia ancora stata portata

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] richiesta di info su python

2012-06-28 Thread Marco De Paoli
Il giorno 28 giugno 2012 10:32, Marco Beri  ha scritto:

> Io credo che in questo thread ci siano tantissimi spunti interessanti per
> molti che non hanno affrontato sul campo questi problemi.
>

Assolutamente sì!

Noi siamo due vecchie volpi (o dovrei dire vecchie carcasse?) e magari
> qualcuno può trarre spunto dalla nostra esperienza.
>

Assolutamente sì!

E al limite ci zittiranno
>

Assolutamente no!!!

:-)

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] problema con format string, convertire da nuova a vecchia

2012-07-06 Thread Marco De Paoli
Il giorno 06 luglio 2012 17:16, Pietro  ha scritto:

> Qualcuno sa come fare? Ho cercato ma nella documentazione sono
> riportati solo esempi utilizzando il nuovo standard...
>

http://docs.python.org/release/2.5/lib/typesseq-strings.html


ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Eliminare carattere fine riga

2012-07-24 Thread Marco De Paoli
> Su linux gli universal newline sono disabilitati di default. Mi sembra che
> su windows siano abilitati di default ma non ne sono sicuro. Qualcuno può
> fare una prova?
>
> python -c "print 'hello'; print 'world'" > test
> python -c "print list(open('test', 'r'))"
> python -c "print list(open('test', 'rU'))"
>
> Cosa restituiscono gli ultimi 2 comandi in windows?


Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\dex>python -c "print 'hello'; print 'world'" >
test

C:\Documents and Settings\dex>python -c "print list(open('test', 'r'))"
['hello\n', 'world\n']

C:\Documents and Settings\dex>python -c "print list(open('test', 'rU'))"
['hello\n', 'world\n']

C:\Documents and Settings\dex>python
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit
(Intel)] on
win32
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] controllare risposta tcp/ip

2012-08-22 Thread Marco De Paoli
Il giorno 22 agosto 2012 15:07, Matteo Perini  ha
scritto:

> resp = s.recv(1)
>

perché non metti un valore più alto di 1?
probabilmente nel tuo caso (in cui mi pare che scambi piccoli comandi di
testo) la cosa è ininfluente
però attenzione, perché un buffer così piccolo può risultare di una
lentezza esasperante

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] controllare risposta tcp/ip

2012-08-22 Thread Marco De Paoli
Il giorno 22 agosto 2012 15:58, Matteo Perini  ha
scritto:

>  Mi piacerebbe però molto capire come mai la resp viene troncata in modo
> selvaggio e apparentemente senza nessuna spiegazione.
>

secondo me è corretto che tu faccia il ciclo di lettura
perché i livelli di rete sottostanti potrebbero inviarti dati parziali
troncando dove gli pare e piace

però sono daccordo con quello che ti consiglia Andrea, non potresti testare
la resp vuota contando sul fatto che il client chiude la comunicazione?

al momento non ho tempo di fare alcuna prova per cui prendi tutto con
beneficio di inventario in base a ricordi remoti

Marco

P.S. piccolo commento finale: sei sicuro di non poter usare qualcosa di più
alto livello (es. HTTP)? io non ho gran bei ricordi di uso diretto delle
socket: si ha l'impressione di partire con una cosa semplice semplice in
cui si ha il controllo completo, però poi saltano fuori un sacco di
particolari che incasinano le cose oltre le previsioni iniziali ...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Codemotion a Venezia

2012-09-04 Thread Marco De Paoli
e del nostro amichevole Django di quartiere... se ne sentirà parlare? ne
possiamo parlare?

Marco

Il giorno 04 settembre 2012 11:06, Simone Federici
ha scritto:

> “Codemotion replica quest’anno con un edizione junior il 17 novembre:
> http://venezia.codemotion.it
>
> La call for paper è già aperta, http://codemotion.it/callforpaper/, e
> scade il 9 ottobre.
> Sono molto gradite le proposte di intervento relative alle vostre
> esperienze quotidiane e lavorative riguardanti le nuove tecnologie e
> linguaggi in ambito Web e non solo, le vostre sperimentazioni e i
> vostri punti di vista.
> Gli argomenti spaziano da Nosql, HTML5, Javascript, Mobile, Gaming,
> Cloud, Linguaggi, Machine meets software, News/approcci visionari
>
> Codemotion Venezia sarà ospitato da H-Farm.
>
> Le iscrizioni apriranno a breve, rimanete sintonizzati!”
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Codemotion a Venezia

2012-09-05 Thread Marco De Paoli
Il giorno 04 settembre 2012 11:53, Simone Federici
ha scritto:

> direi che se vuoi parlare di django, la cosa sarà molto gradita
> fammi sapere se vuoi una mano per l'abstract
>

verifico in azienda se si può parlare di argomenti che sono legati a
business interno

mi piacerebbe fare non tanto una presentazione super tecnica quanto
piuttosto un caso d'uso in cui django (e python) hanno decisamente
semplificato la vita ad un intero gruppo di persone con conseguente
tempestività con il cliente finale, etc etc.
... con gran gioia di lean-manager e compagnia cantante

Chiarisco che il mio ruolo in azienda non è quello di fare sw per il
cliente finale bensì per db aziendali e/o a supporto dei workflow interni
di r&d e produzione

In un progetto recente in particolare, visto la rapidità di sviluppo con
django, si è potuto fare un prototipo funzionante in giorni

Il bello è che poi il prototipo è stato usato per generare i primi dati da
condividere con il cliente. Quindi è stato usato, praticamente, in
produzione.

Il bello è che rispetto ad altri prodotti da ufficio (Access!) c'è comunque
l'enorme vantaggio che gli utenti non si trovano a scambiare file (orrendi
mdb!) ma si può partire da subito a lavorare su un db condiviso via http
(Visto che poi con l'admin di django si riesce a dargli un editing decente
con poche righe di codice, grande!)

Allo stato attuale ci mi trovo che il prototipo andrà completato in modo da
centralizzare una serie di procedure semi-automatiche con micro-tool vari

Il problema è che il prototipo andrà buttato via

E' risultato che il workflow usato in questa fase iniziale non è adeguato
al ciclo di lavoro "vero" che si dovrà adottare a regime.

Come dire che un po' per l'emergenza e un po' per recuperare lo storico si
è seguito un modo di lavorare che ha solo in piccola parte a che fare con
il flusso di lavoro che si seguirà a regime per la produzione futura.

Niente paura! Butto via il prototipo e rifaccio il sistema da zero usando
tutto il know-how accumulato ed eventuali procedurine critiche che sono
state messe a punto in questa prima fase

... ma non si sarebbe potuto fare bene le cose da subito e definire
correttament eil workflow già dall'inizio?!?
No!! Sappiamo benissimo che quando si comincia a lavorare sul prototipo
1) non sono ancora chiusi gli accordi commerciali con il cliente finale
2) in azienda non è ancora chiaro nei dettagli cosa e come bisognerà prdurre
3) agli utenti se parli di un ciclo futuro senza avere davanti dati
concreti, si perdono. O meglio li perdi dopo 5 minuti perché non riescono
ancora a concepire un sistema che in effetti dovrebbe essere a supporto di
un modo di lavorare che ancora non è chiaro neppure a loro

Per tutti questi motivi quello che abbiamo fatto è stato iniziare a buttare
su tabelle recuperando dati da vari excel, xml, mdb, etc. e dargli un posto
centralizzato in cui tutti potessero editare (grande django-admin! con 3
righe gli dai un editing più che decente)

In questa fase è necessario un po' turarsi il naso perché si ha a che fare
con tabelle de-normalizzate e inconsistenze varie
Però:
1) si ha un prototipo funzionante che serve per la pre-produzione che
dicevo prima
2) gli utenti hanno capito cosa gli serve e come lo devono fare
3) io ho capito che dati vanno salvati e quali sono le funzioni base del
sistema

a quel punto si inizia a sviluppare il sistema vero con le tabelle fatte
come si deve e e con tutte le regole di consistenza corrette sui dati

Ok, mi sono dilungato un po'... spero di non essere troppo OT

Vi dico l'ultima, che fa un po' sorridere: ho fatto il "prototipo del
prototipo".
In pratica mentre lavoravo al prototipo "ufficiale" ossia quello che usano
i miei utenti, mi sono creato un altra app django con l'abbozzo di quello
che capivo essere il funzionamento reale futuro ("a regime" come dicevo
prima).
La nuova app è dentro lo stesso progetto per cui posso portare avanti gli
sviluppi dell'uno o dell'altro facendo convivere il tutto nello stesso repo
mercurial/svn/trac [1] e sulle stesse directory/host (di sviluppo e di test)

Scusare la lunghezza, ciao
Marco

[1] ...il motivo per cui ci sono sia mercurial che svn potrebbe essere
oggetto di un altra storia :)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Richiamare funzione componendo il nome

2012-09-10 Thread Marco De Paoli
Il giorno 10 settembre 2012 12:47, tonin...@libero.it
ha scritto:

> Salve, non so se si è capito il mio problema dall' oggetto del messaggio.
> Cmq
> quello che voglio fare è richiamare una funzione esistente componendo il
> suo
> nome.
> Posto il codice.
>
> def sequenza_domande():
> for n in ncasuali[:]: #lista riempita precedentemente con dei numeri
> casuali
> "domanda_"+str(n)+"()" # richiamo una funzione componendo il nome
>
> il problema è che non considera la chiamata.
> C'è qualcuno che può aiutarmi?
>
oltre a quello che ti è già stato suggerito, puoi considerare di usare
anche getattr dopo aver importato il modulo in cui è definita la funzione
(codice non testato!):

m = __import__(__name__)
f = getattr(m, "domanda_"+str(n))

e poi chiami la funzione con:

f()

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] da lista di coppie a dict con lista di valori

2012-09-21 Thread Marco De Paoli
ciao a tutti,
ho le seguenti liste:
base = [(1, 100), (1, 200), (3, 100)]
categories = [1, 2, 3]

e vorrei ottenere il seguente dizionario:
result = {1: [100, 200], 2: [], 3: [100]}

In pratica ogni chiave in categories è presente in result eventualmente con
valore lista vuota.

Ho pensato alla seguente soluzione:
result = {}
[result.setdefault(k, []).append(v) for k, v in base]
[result.setdefault(k, []) for k in categories if not k in result]

C'è però la terza riga che non mi piace perché leggo result *mentre* lo sto
modificando, per cui l'ho sostituita con:
[result.setdefault(k, []) for k in categories if not k in dict(base).keys()]

Domande:
1) ha senso lo scrupolo di non leggere result mentre lo modifico?
2) ... c'è qualcosa di più pythonico?

grazie,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] da lista di coppie a dict con lista di valori

2012-09-21 Thread Marco De Paoli
Il giorno 21 settembre 2012 15:33, Marco Beri  ha
scritto:

> A me piace di più così:
>
> result = dict((c, []) for c in categories)
> for k, v in base:
> result[k].append(v)
>
> La list comprehension usata per risparmiare il for non mi gusta troppo...
>

yess, molto più leggibile
...in effetti usare i side-effect di una list comprehension non garbava
molto neppure a me

grazie,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] da lista di coppie a dict con lista di valori

2012-09-26 Thread Marco De Paoli
Il giorno 24 settembre 2012 21:54, enrico franchi
ha scritto:

> {k: map(op.itemgetter(1), v) for (k, v) in it.groupby(base,
> op.itemgetter(0))}
>
> Poi non sono completamente convinto che sparare una dict comprehension
> cosi' complicata e "funzionale" sia un'ottima idea in codice da
> mantenere (a meno di non avere gia' il codice in quello stile e avere
> molti unit-test). Come dicevo, ha anche la debolezza che dipende da
> groupby che per me none' proprio un mostro di intuitivita'.
>

...in effetti non sarebbe molto leggibile in un secondo tempo, almeno per me
comunque mi ha dato l'occasione di dare un occhiata ai package itertools e
operator
(mi ricordano tecniche di template metaprogramming in c++ che usavo anni fa)

grazie,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] da lista di coppie a dict con lista di valori

2012-09-26 Thread Marco De Paoli
Il giorno 26 settembre 2012 17:37, Stefano Dal Pra  ha
scritto:

> Un altro modo puo' essere:
>
> >>> base = [(1, 100), (1, 200), (3, 100)]
> >>> categories = [1, 2, 3]
> >>> d = {}
> >>> x = [d.setdefault(x[0],[]).append(x[1]) for x in base] + [
> d.setdefault(n,[]) for n in categories ]
> >>> d
> {1: [100, 200], 2: [], 3: [100]}
>

sì, direi che è parente stretto del mio iniziale
nella seconda lista mi hai giustamente fatto notare che

if not k in result

non è necessaria

rimangono i dubbi iniziali che ha detto Marco B
(qui addirittura c'è una somma che non è una somma e un assegnazione che
non è un assegnazione)

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] django e strutture dati permanenti

2012-10-10 Thread Marco De Paoli
Il giorno 10 ottobre 2012 09:59, Balan Victor  ha
scritto:

> ciao a tutti,
> stavo leggendo il tutorial di django e mi è venuto un dubbio: come faccio
> a creare degli oggetti in memoria che restino in vita da quando faccio
> runserver a quando faccio ctrl-c e siano visibili in tutti i moduli della
> mia applicazione?
>

gli attributi di classe sono visibili/modificabili in tutti i moduli che
importino il modulo contenente la classe
prova a vedere se fanno al caso tuo
Inoltre può esserti d'aiuto anche un occhiata al pattern Borg di Alex
Martelli

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] django e strutture dati permanenti

2012-10-10 Thread Marco De Paoli
Il giorno 10 ottobre 2012 11:14, Marco Beri  ha
scritto:

> 2012/10/10 Marco De Paoli 
> Attenzione però: se si usano più processi (per esempio i worker di uwsgi)
> i dati dei moduli non sono condivisi.
>

...e se invece sono condivisi c'è il problema degli accessi concorrenti

per cui, o sono valori base e in sola lettura e allora puoi metterli nei
settings, oppure


> Io userei memcached.
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] django templace css/javascript

2012-10-18 Thread Marco De Paoli
Il giorno 18 ottobre 2012 09:33, Balan Victor  ha
scritto:

> e dentro urls.py ho un link che mi servere la pagina pagina.html
> ora questa pagina non carica nessun foglio di stile, javascripts, ecc ecc
>
> ho provato a vedere static files ma non ci salto fuori.
>

il problema si verifica in ambiente di sviluppo (con runserver) o in
ambiente di deploy (con apache/nginx/uwsgi/...) ?

(...c'è un gruppo apposito "django-it")

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] django templace css/javascript

2012-10-18 Thread Marco De Paoli
Il giorno 18 ottobre 2012 09:43, Balan Victor  ha
scritto:

> ambiente di sviluppo con runserver.


due cose:
1) settings.py, verifica di avere "templates" specificata nelle
TEMPLATE_DIRS
2) urls.py, verifica di avere urlpatterns += staticfiles_urlpatterns()

qui altre info:
https://docs.djangoproject.com/en/dev/howto/static-files/

Non sapevo dell'esistenza del gruppo.
>

...boh, ormai la discussione è partita qui, ...continuiamo qui?

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] django templace css/javascript

2012-10-18 Thread Marco De Paoli
Il giorno 18 ottobre 2012 10:20, Balan Victor  ha
scritto:

>
> mentre questa urlpatterns += staticfiles_urlpatterns() mi sfugge
>
> Il giorno 18 ottobre 2012 09:51, Marco De Paoli  ha
> scritto:
>
>>
>> qui altre info:
>> https://docs.djangoproject.com/en/dev/howto/static-files/
>>
>
ma, l'hai visto?

(please, non fare top quoting)

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] django templace css/javascript

2012-10-18 Thread Marco De Paoli
Il giorno 18 ottobre 2012 11:06, Balan Victor  ha
scritto:

> Però non riesco a capire il meccanismo dei file statici c'è qualche guida
> in italiano che lo spiega?!
>

guida in italiano? non che io sappia e comunqaue la vedo dura

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Re: R: Re: Versione Python

2012-12-27 Thread Marco De Paoli
Il giorno 27 dicembre 2012 19:06, Giovanni Vittorio Spina <
vittorio.sp...@gmail.com> ha scritto:

> Se chiedi di windows 8 in questa mailing list ti rispondono
> maleducatamente.


Stai parlando di persone che: ti hanno risposto, ti hanno dato indicazioni
sulle evoluzioni possibili (winrt, metro, etc.) e hanno documentato le
ragioni per cui tra python e windows 8 c'è una sorta di incompatibilità di
obiettivo (banalizzando Ms vuol far incassare dai programmatori, Python
vuol far incassare i programmatori)

Insomma, mi sembra un tantino improprio catalogare queste risposte come
"maleducazione"...

Pare che i programmatori python siano conservatori, cosa anomala per uno
> scienziato, ma tant'è...
>

Questo ammesso che Windows 8 sia il progresso...

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] codifica unicode di caratteri speciali

2013-02-04 Thread Marco De Paoli
2013/2/4 linedicons...@gmail.com 

> a = "òàçòòà"
>

prova mettendo una u prima dei doppi apici, ossia
a = u"òàçòòà"


ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] lista di caratteri

2013-02-20 Thread Marco De Paoli
[chr(c) for c in range(ord('a'), ord('z'))]

una cosa del genere?

ciao,
Marco

Il giorno 20 febbraio 2013 12:04, Dante Dis'Utopia
ha scritto:

> Salve vorrei riempire una lista con le lettere dell'alfabeto, un po alla
> maniera del c, ossia con un ciclo for pensando i caratteri a livello ascii.
> Come posso fare???
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] lista di caratteri

2013-02-20 Thread Marco De Paoli
Il giorno 20 febbraio 2013 12:17, Luca Melandri  ha
scritto:

> Forse ord('z')+1 per arrivare all'ultima..:-)
>
ye (... acc, non avevo fatto il test case :-)

ciao
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] newbie help

2013-02-22 Thread Marco De Paoli
2013/2/22 emmanuel segura 

> try:
> import csv
> except ImportError:
> print "Error loading csv module"
>

uhm, ho provato a riprodurre il problema e a me non succede

però ti consiglierei prima di tutto di eliminare il try/except attorno
all'istruzione di import

molto meglio l'errore di sistema che non la tua print

tanto più che, per come l'hai strutturato, il tuo script procede anche in
caso di errore nell'importazione

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] newbie help

2013-02-22 Thread Marco De Paoli
Il giorno 22 febbraio 2013 10:17, Fabrizio Mancini  ha
scritto:

> devi cambiare il nome del file.
>

giusto!
non avevo notato che l'OP aveva chiamato così il file


ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Digest di Python, Volume 84, Numero 11

2013-02-22 Thread Marco De Paoli
Il giorno 22 febbraio 2013 15:19, emmanuel segura  ha
scritto:

>
>> Se rispondi a questo messaggio, per favore edita la linea dell'oggetto
>> in modo che sia più utile di un semplice "Re: Contenuti del digest
>> della lista Python..."
>>
>
ehhm

Ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Salve.

2013-03-22 Thread Marco De Paoli
Il giorno 22 marzo 2013 15:25, Nicola Larosa  ha scritto:

> Manlio Perillo wrote:
> > lo stato è un dizionario.
>
> Uhm. Per qualche motivo, "attacco al cuore del dizionario" non suona
> altrettanto bene.
>

LOL :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Rieseguire dall'interprete.

2013-04-03 Thread Marco De Paoli
Il giorno 03 aprile 2013 13:29, Gabriel Battaglia (Kriyaban) <
iz4...@libero.it> ha scritto:
>
> Spero di aver saputo rispondere.
>

ciao Gabriel,
mi unisco al coro di chi apprezza queste informazioni
per quanto mi riguarda è un mondo nuovo
grazie dei dettagli,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Caccia al bug, UnboundLocalError

2013-04-15 Thread Marco De Paoli
Il giorno 15 aprile 2013 10:18, Gabriel Battaglia (Kriyaban) <
iz4...@libero.it> ha scritto:

> UnboudLocalError: Local variable 'x1' referenced before assignment.
>
> Quali sono le cause più probabili.. o l'unica causa possibile, che genera
> questo errore?
>

questo, mi sa che aiuta:
http://eli.thegreenplace.net/2011/05/15/understanding-unboundlocalerror-in-python/

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] webapp in bottle: come creare una form per inserire i dati ?

2013-04-15 Thread Marco De Paoli
Il giorno 15 aprile 2013 15:20, Riccardo mancuso <
mancuso.riccard...@gmail.com> ha scritto:

> ma per django esiste una comunità italiana ? Se si, mi date il riferimento
> ?
>

django...@googlegroups.com

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] OT: correzioni [was: Caccia al bug, UnboundLocalError]

2013-04-16 Thread Marco De Paoli
Adriano,
stavo per dirmi, tra me e me, "acc, peccato che l'ha presa così" e chiudere
lì la cosa
... ma sarebbe un peccato
Per cui provo a dirti due parole in libertà...

scusa se le scrivo un po' in velocità e non le rileggo troppo ma sono (non
scherzo!) alle prese con un bug e fra poco dovro reimmergermi nella lotta...

nessuno voleva darti dell'idiota!
Conosco un po' le persone che hanno partecipato a questa discussione.
Le conosco anche solo per aver seguito nel tempo il tono delle loro
risposte qui sul gruppo o per i vari contributi che hanno dato a vari
progetti Open
E, fidati, si tratta di persone molto collaborative.
Potremmo dire, semmai, che hanno voluto un po' fare i precisini e cercare
il pelo nell'uovo.
E' vero!
Penso sia un attitudine che si acquisisce
Infatti molto spesso risolvere un bug è un attività da precisini e che
richiede una forte attitudine a cercare, appunto, il pelo nell'uovo
Se noti, l'oggetto di queste mail aveva proprio la dicitura "Caccia al
bug"...
Cosa, questa, che attiva il lato "segugio precisino" di molti programmatori
appassionati del loro lavoro
Vedila così: non ce l'hanno con te, ce l'hanno con qualunque incomprensione
che possa far sorgere dei bug
Ma ce l'hanno a morte, fidati!
Ce l'hanno con qualunque "zona grigia" che possa far sbagliare qualcuno

Tu parla di bug a un programmatore ed è capace di scatenare un crociata!
Posso dirti la verità? ... ben venga!
So un po' cosa significa non dormire di notte perché un programma, magari
in produzione, non funziona correttamente e io non so bene perché
A volte sono problemi subdoli, a volte sono situazioni limite, a volte
succedono in quel pezzettino di codice che avevi scritto in velocità...
Bastardo di un bug!
Quante volte imprechi dietro alla documentazione che non era abbastanza
precisa, oppure imprechi dietro alla tua superficialità per non aver capito
a fondo la semantica di un costrutto...
Bastardo di un bug!
Brucia all'inferno

Adriano, unisciti alla crociata!
... come vedi sto cercando di buttarla sullo scherzo e cerco di prendere in
giro anche tutti noi programmatori

Vedi, può capitarti di incontrare qualcuno che sobbalza per un battito di
mani e se la prende con te
Potrebbe essere un rompipalle antipatico, oppure potrebbe essere stato in
trincea e ha sentito le bombe cadere
E magari lì ha capito che un piccolo rumore può essere la spia di  un
pericolo mortale in agguato
In guerra mai sottovalutare i piccoli rumori!

Ok, sto esagerando apposta per buttarla sul ridere
... in fondo noi programmatori possiamo facilmente essere presi in giro su
un sacco di cose

Ciao Adriano!
... ritorno al mio bug (... bastardo di un bug!!!)

Marco

Il giorno 16 aprile 2013 08:07, Adriano Barbieri  ha
scritto:

> Cari Daniele e tutti,
> Daccordo per la mia svista, del resto sono anche cieco, purtroppo :)
> L'ho scritta di getto la meil, il bello è che in verità intendevo
> riferirmi a qualcos'altro e mi sarò confuso e imparerò a rileggere ciò che
> ho scritto prima di postare un messaggio...era il mio desiderio di aiutare
> qualcuno, in buona fede.
> e' che ci sono altre maniere per dire a una persona, che per'altro non la
> si conosce, dell'errore che ha commesso. ringrazio Giuseppe Amato che è
> stata l'unica persona che è stata gentile con me e mi ha aiutato una volta
> :)
> Per gli altri che hanno sottilmente dato dell'idiota tramite un
> "istruttivo link"... be' sbruffoni ma chi vi credete di essere? anche voi
> non siete nati con la conoscenza del Python, avrete fatto i vostri errori
> agli inizi... qui si tratta di essere umani e non delle macchine fredde
> calcolatrici, e con un po' di garbo la cosa sarebbe finita sul ridere.
> E con questo desidererei chiudere la questione!
> Adriano B.
>
> - Original Message - From: "Daniele Varrazzo" 
> To: 
> Sent: Monday, April 15, 2013 8:53 PM
> Subject: [Python] OT: correzioni [was: Caccia al bug, UnboundLocalError]
>
>
>
> On 2013-04-15 16:50, Adriano Barbieri wrote:
>
>> Ma di quale linguaggio stai parlando? Non di Python e non di
>> UnboundLocalError.
>>
>> Come?
>> E' perché ho detto definizione al posto di funzione... e un po' di
>> elasticità sù daii :)
>> Dopotutto def non è sinonimo di definizione di funzione?
>>
>
> Acqua. Ho quotato esattamente quello che hai sbagliato. Lo ripeto qui:
>
>  On 2013-04-15 13:12, Adriano Barbieri wrote:
>>
>>  L'errore può anche essere che x non sia del tipo corretto, ad esempio
>>> x="stringa" e poi la tenti di azzerare come un integer. cioè x=0
>>> quando invece si dovrebbe scrivere x=''
>>>
>>
> In python non definisci da nessuna parte che x è una stringa; anche se
> x conteneva una stringa fare poi x = 0 non dà nessun tipo di errore, e
> non darebbe comunque UnboundLocalError.
>
>
>  Scusa ma provvengo ancora dalla programmazione di Amiga con AMOS
>> Pro... da molto molto tempo, il Python è pochi mesi che lo mastico e
>> mi sono iscritto a questa lista col desiderio di apprendere qualche
>> nozione di programmazione in Python, ma fin

Re: [Python] Uso di PDB.

2013-04-18 Thread Marco De Paoli
Il giorno 18 aprile 2013 09:48, Gabriel Battaglia (Kriyaban) <
iz4...@libero.it> ha scritto:

> "Apro dunque l'interprete:>>>Importo PDB:>>> import pdb>>>Importo il mio
> modulo:>>> import batnavIl modulo parte, lo uso finchè non lo porto ad un
> crash"Traceback (most recent call last):File "", line 1, in
> File "batnav.py", line 350, in AzioniColpo()File
> "batnav.py", line 275, in AzioniColpoAffonda()File "batnav.py", line 41, in
> Affondadel Navi[Navi.index(LN)]**ValueError: 1 is not in list>>> "A
> questo punto... Penso di aver capito di dover invocare la funzione pm del
> modulo pdb, è giusto?>>> pdb.pm()"> c:\python27\gb\batnav.py(41)**Affonda()->
> del Navi[Navi.index(LN)](Pdb) "A questo punto vorrei vedere il valore che
> ha causato l'out of index. In questo caso è stato riportato dal Traceback e
> so già che è 1, ma giusto per imparare.>>> LN(Pdb) Perchè? Non dovrebbe
> rispondere 1?Provo pp LNNone(Pdb)Uhm, sono un po confuso, ma LN non era la
> causa del crash?Ok, come faccio invece, se volessi testare il funzionamento
> di batnav.py sin dalla sua prima istruzione, non post_mortem. Come faccio a
> caricarlo nell'interprete senza che venga eseguito in
> automatico?Consapevole dell'ingenuità di queste domande, resto in attesa di
> qualche spunto...Come sempre grazie per la vostra gentilezza e pazienza.G.
>

Ciao Gabriel,
si è persa tutta la formattazione della tua sessione su pdb, in particolare
si sono persi tutti gli a-capo
per cui faccio un po' fatica a capire il problema

ti segnalo comunque un altro approccio che forse può esserti utile, basta
setare un break-point inserendo nel programma l'istruzione seguente:

import pdb; pdb.set_trace()

in questo modo potrai lanciare normalmente il programma e poi si fermerà da
solo al break-point aprendoti automaticamente una sessione di debug

insomma, è un modo per evitare di andare passo passo a partire dall'inizio
del programma

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Uso di PDB.

2013-04-18 Thread Marco De Paoli
Il giorno 18 aprile 2013 10:16, Gabriel Battaglia (Kriyaban) <
iz4...@libero.it> ha scritto:

> **
>
> Ora provo a rimandare la mia precedente mail, camiando un'opzione d'invio
> nel mailer, vediamo se questa volta riesco a mantenere la formattazione
> originale.
>

ora la formattazione è molto meglio!

per il problema specifico mi pare invece che ti abbiano già dato un sacco
di indicazioni
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] aiuto espressioni regolari

2013-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2013 11:56, Valerio Pachera  ha
scritto:
>
> Mi date una dritta?
>

print(re.findall(r'file=([^ ,]*)',s))

prova così, ciao
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] aiuto espressioni regolari

2013-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2013 12:40, Valerio Pachera  ha
scritto:
>
> Marco, saresti così gentile da spiegarmi la tua espressione regolare?
> Correggimi se sbaglio: le quadre dovrebbero servire per fare il match dei
> caratteri in essa contenuti, in questo caso 3 caratteri (inizio stringa ^,
> o uno spazio, o una virgola).
>

Il carattere ^ appena dopo la quadra aperta indica negazione.
Per cui [^ ,] fa match con qualunque carattere esclusi lo spazio e la
virgola

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] aiuto espressioni regolari

2013-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2013 14:07, Valerio Pachera  ha
scritto:

> Ok, ora mi è chiaro.
>

Marco Beri, "Espressioni Regolari", Apogeo  p.37  :-)

Ciao!
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] aiuto espressioni regolari

2013-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2013 14:55, Marco Beri  ha scritto:

> 2013/4/23 Marco De Paoli 
>
>> Il giorno 23 aprile 2013 14:07, Valerio Pachera  ha
>> scritto:
>>
>> Ok, ora mi è chiaro.
>>>
>>
>> Marco Beri, "Espressioni Regolari", Apogeo  p.37  :-)
>>
>
> :D
>


lmbtfy


:-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] aiuto espressioni regolari

2013-04-23 Thread Marco De Paoli
Il giorno 23 aprile 2013 15:36, Carlo Miron  ha scritto:
>
> > Esiste! :-)
> > http://lmbtfy.com/
>

acc, dovevo immaginarlo che M$ ci rubava pure l'acronimo!

E` sbagliato, c'e` scritto Bing invece di Beri...
>

esatto!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Si possono creare variabili globali all'interno di una funzione che si trova a sua volta all'interno di un modulo?

2013-05-13 Thread Marco De Paoli
Il giorno 13 maggio 2013 17:40, Germano Carella
ha scritto:

> Naturalmente l’ha creata a livello di modulo.
>
> **
>
> Purtroppo, se invece di importare il modulo scrivo
>
> From utils import setglobals
>
> Setglobals(“nome”,”germano”)
>
> Non dà errore, ma non crea la variabile.
>

c'è ma non si vede :-)

dopo che hai eseguito la setglobals
prova a fare:
import prova
print prova.nome

et voilà, ecco che scopri che in effetti l'aveva setata

...per il resto non ho capito bene cosa vorresti fare...

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Collegare lo scroll orizzontale di una wx.listbox a un wx.textctrl

2013-05-13 Thread Marco De Paoli
Il giorno 13 maggio 2013 18:31, Adriano Barbieri  ha
scritto:

> Avrei dovuto usare una wx.ListCtrl con le sue belle colonne e intestazioni,


+1 wx.ListCtrl
...tutto il resto temo sia la strada per mooolti grattacapi

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] With... as... per sopprimere NameError

2013-05-14 Thread Marco De Paoli
Il giorno 14 maggio 2013 19:34, Manlio Perillo
ha scritto:
>
> Dato che era un problema interessante, mi sono documentato meglio.
> Usando un API specifica di CPython sembra sia possibile fare quello che
> chiedi:
> http://pastebin.com/pc5i4V1u


però, che concentrato di hacks!

Manlio, mi ha fatto scoprire diverse cose

il bello è che il tutto rimane comunque (con un po' di pazienza!) leggibile
e sostanzialmente lineare

eh, bello python! :-)

ciao,
Marco

P.S. ... come cavolo hai fatto a scoprire la PyFrame_LocalsToFast? ti
capita di lavorare in C su CPython?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] With... as... per sopprimere NameError

2013-05-14 Thread Marco De Paoli
Il giorno 14 maggio 2013 22:03, Manlio Perillo
ha scritto:

> E con una piccola e semplice modifica è possibile anche aggiornare
> `datum`, in modo da tenere conto dell'eventuale modifica delle variabili
> iniettate.
>

vero


> Una semplice ricerca tramite Google, usando le keywords
> "python update local variables"
>

ah ... :-)

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] With... as... per sopprimere NameError

2013-05-14 Thread Marco De Paoli
Il giorno 14 maggio 2013 22:39, Manlio Perillo
ha scritto:
>
> Però, in teoria, non ci sono ragioni per cui non debba essere possibile
> modificare le variabili locali esistenti (ad esempio, un debugger serio
> deve permettere di farlo); l'unico problema è che l'aggiornamento di
> locals() non garantisce quello che vogliamo, questo per permettere di
> ottimizzare l'accesso alle variabili locali.
>

in effetti mi sa che questa esigenza è sentita

qui si discuteva l'inserimento di "savelocals":
http://bugs.python.org/issue1654367


Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Overloading "print"

2013-06-04 Thread Marco De Paoli
Il giorno 04 giugno 2013 16:26, Vittorio Spina
ha scritto:

> Come faccio a fare l'overloading del print in modo da non dover eliminare
> tutti i print presenti nel codice?
>

puoi provare ridefinendo lo stdout

import sys
sys.stdout = open('file', 'w')
print 'test'

vedi qui:
http://stackoverflow.com/questions/4675728/redirect-stdout-to-a-file-in-python

e qui:
http://stackoverflow.com/questions/1218933/can-i-redirect-the-stdout-in-python-into-some-sort-of-string-buffer

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Overloading "print"

2013-06-04 Thread Marco De Paoli
Il giorno 04 giugno 2013 17:08, Vittorio Spina
ha scritto:

> cambiare tutti i print con un find&replace.
> la riga
>
> print "ciao mondo"
>
> dovrebbe diventare
>
> print_log("ciao mondo")
>
> e l'ultima parentesi tonda chiusa non saprei proprio come inserirla...
>
> se sei in vim puoi fare una cosa del genere
:%s/print "\(.*\)"/print("\1")/

la parentesi nell'espressione regolare crea un group che poi puoi
riutilizzare nella parte di replace
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Overloading "print"

2013-06-04 Thread Marco De Paoli
Il giorno 04 giugno 2013 17:22, Marco Beri  ha scritto:
>
> :%s/\
> uhm, i doppi-apici dentro le parentesi di print_log non mi tornano tanto...

secondo me non ci vanno:
:%s/\___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Overloading "print"

2013-06-04 Thread Marco De Paoli
Il giorno 04 giugno 2013 17:29, Marco Beri  ha scritto:

> Avevo preso la tua istruzione per correggerla e non li ho tolti.
>

incredibile!
... trovare un baco al Beri sulle istruzioni regolari?!?
Non ha prezzo! :-)

per i posteri: confermo che la forma di marcoberi è decisamente più generale

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] py and pyc files

2013-06-07 Thread Marco De Paoli
Il giorno 07 giugno 2013 15:41, Vittorio Spina
ha scritto:

> Qualcuno sa dirmi nel dettaglio la differenza fra files py e pyc? grazie
>

ogni volta che l'interprete python deve eseguire o importare un file
sorgente py
genera o aggiorna, nel caso non esista, il corrispondente file pyc

Il file pyc contiene le istruzioni bytecode corrispondenti alle istruzioni
sorgente del file py
Il file pyc è un file binario

...comunque se cerchi in google py+pyc+files trovi un sacco di roba...

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] py and pyc files

2013-06-07 Thread Marco De Paoli
Il giorno 07 giugno 2013 15:51, Marco De Paoli  ha
scritto:

>
>
> Il giorno 07 giugno 2013 15:41, Vittorio Spina ha 
> scritto:
>
> Qualcuno sa dirmi nel dettaglio la differenza fra files py e pyc? grazie
>>
>
ecco la documentazione ufficiale per il 2.7

http://docs.python.org/2/tutorial/modules.html
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] py and pyc files

2013-06-07 Thread Marco De Paoli
Il giorno 07 giugno 2013 15:51, Marco De Paoli  ha
scritto:

>
>
> Il giorno 07 giugno 2013 15:41, Vittorio Spina ha 
> scritto:
>
> Qualcuno sa dirmi nel dettaglio la differenza fra files py e pyc? grazie
>>
>
> ogni volta che l'interprete python deve eseguire o importare un file
> sorgente py
>

rettifica:
Quando lo esegui mi sa di no... :-)


grazie per la segnalazione dalla "regia"!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Malsana idea...

2013-06-11 Thread Marco De Paoli
Il giorno 11 giugno 2013 08:47, Gollum1  ha
scritto:

> in realtà le parti essenziali
> che mi servono è il reperimento di dati da una pagina web (con
> autenticazione),


ti consiglio questo:
http://docs.python-requests.org/en/latest/


> una elaborazione di questi dati,


beh, quella la fai direttamente in python


> e la generazione di
> un foglio excel con una impaginazione dei dati ben precisa, pronta per
> la stampa...
>

completo ed efficace:
http://www.python-excel.org/
(a te in particolare servirà xlwt per scrivere gli xls)


> Il mio dubbio deriva su come distribuirlo ai miei colleghi, la
> macchine sono tutte windows (purtroppo) di diverse versioni (da XP a
> 7, non credo, e spero, che non ne esistano più con W2K), sono tutte
> bloccate dall'ICT, quindi non ho la possibilità di installare
> python... e non vorrei neppure...
>

sei sicuro che non ti convenga predisporre una macchinina con un webserver?
poi ci metti sopra es. django ed esponi tutti questi servizi
gli utenti ci accedono via browser e sono sempre tutti automaticamente
aggiornati/verificati/validati etc. etc.
tu hai un punto solo da mantenere e non hai neppure problemi compatibilità
con le macchine client


> con py2exe è possibile generare un eseguibile che abbia al suo interno
> tutto quello che gli serve? interprete e librerie necessarie comprese?
>

sì, si può fare, e per cose semplici non ci metti neppure tanto
ma per quanto py2exe (oppure pyinstaller, che mi dicono essere più
aggiornato ma che non conosco di persona)
sia abbastanza semplice e logico, quando poi lo distribuisci agli utenti
viene fuori che uhm, manca una dll, mancano i permessi perché possa
scrivere, etc. etc.

e sono cose che si fa fatica a verificare completamente a priori e, almeno
per me, mi sembrano delle gran perdite di tempo quando devo starci dietro a
posteriori (l'idea di andare a verificare cosa succeda su un PC dell'utente
non mi alletta proprio)

se poi sono PC soggetti a policy di sicurezza aziendale, peggio con peggio

poi ci devi mettere un minimo di installer e quindi devi scomodare inno
setup o compagnia...

insomma, se vuoi un parere, valuta il webserver, secondo me alla fine della
fiera sei più rapido e hai più margine di evoluzioni

Se mi dite che si può fare, mi metto a studiare e lo faccio...
>

buttati in ogni caso :-)

ciao,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Problemi con time

2013-06-28 Thread Marco De Paoli
Il giorno 28 giugno 2013 09:50, Marcello  ha scritto:

> ho risolto usando lambda (che non ho mai usato)
> ho cercato in rete per capire cosa facesse, ma.. non è che ci ho
> capito molto.
>

lambda è solo un modo rapido per definire funzioni


>
> func = lambda obj: obj.strftime('%d/%m/%Y %H:%m')
>

è equivalente a

def func(obj):
return obj.strftime('%d/%m/%Y %H:%m')

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Prendere dati da un file xml

2013-06-28 Thread Marco De Paoli
Il giorno 28 giugno 2013 16:20, Marcello  ha scritto:

> Sono nuovamente qui per chiedere il vostro aiuto.
> Ho un file xml
>
> 192.168.1.1
> FooBar
> FooBar1
> FooBar2
>
>
> per prendere i dati da questo file faccio così
>
> file = "file.xlm"
> _imp = open(file, "r")
> imp = _imp.read()
> _imp.close()
> if "" in imp:
> Ip = imp[imp.index("")+4:imp.index("")]
> else:
> Ip = "0.0.0.0"
> print Ip
>
> il problema è quando ho più di un campo con lo stesso nome.
> Se utilizzo lo stesso metodo per prg giustamente mi viene proposto solo il
> primo risultato (FooBar).
> Come faccio ad avere tutti i risultati?
> Ho provato con un for . ma non ho risolto, anche perchè non sempre
> FooBarX è sulla stessa riga quindi non posso utilizzare
> readline()
>

ti sconsiglio vivamente di fare tu il parse del file xml
c'è lxml [0] che lo fa ottimamente e poi ti da tutte le primitive per
accedere ai vari elementi via xpath e per ottenre il testo relativo

fai un piccolo investimento a guardarti il tutorial di lxml e vedrai che
vivi meglio :-)

ciao,
Marco

[0] http://lxml.de/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] regexp e gruppi

2013-09-10 Thread Marco De Paoli
così farebbe più o meno quello che ti serve?

re1 = re.compile(r'^\\begin\{description\}\n\\item\[\{([^\}]+)\}\]
\\leavevmode\n(.*)\\end\{description\}$', re.M | re.S)
re1.sub(r'\\begin{definizione}\n\\textbf{\1}\n\2\\end{definizione}',

Il 10 settembre 2013 13:31, Marco Beri  ha scritto:
> 2013/9/10 Daniele Zambelli 
>>
>> >>> re1 = re.compile(r'\\begin{description}\n\\item\[\{([^\}]+)\}]
>> >>> \\leavevmode([^(\\end{description})])\\end{description}', re.M)
>
>
> Sono molto infognato e in questo momento non riesco a darti una mano, ma qui
> stai facendo un errore. Non usare le raw string se usi il doppio backslash.
>
 print r"\\b\n"
> \\b\n
>
 print "\\b\n"
> \b
>

>
> Ciao.
> Marco.
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] regexp e gruppi

2013-09-10 Thread Marco De Paoli
Il 10 settembre 2013 15:02, Marco De Paoli  ha scritto:
> così farebbe più o meno quello che ti serve?

ops, sorry per il top posting

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] regexp e gruppi

2013-09-11 Thread Marco De Paoli
Il 10 settembre 2013 22:12, Daniele Zambelli
 ha scritto:
> Quasi, ho aggiunto un "?" per rendere pigro il quantificatore *:

giusto!

> P.S. Se può servire... hai dato un contributo al Libro libero di matematica:
> Matematica C3 (www.matematicamente.it), grazie.

lavoro meritevole, grazie a te!

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] regexp e gruppi

2013-09-11 Thread Marco De Paoli
Il giorno 11 settembre 2013 15:28, Daniele Zambelli <
daniele.zambe...@gmail.com> ha scritto:

>
> Il dubbio che ho è che la faccenda non sia molto efficiente dato che ci
> possono essere molte definizioni. E, se non sbaglio, si avvia un meccanismo
> di backtracking. Per questo motivo avevo cercato di cambiare il gruppo come
> nello spezzone seguente:
>
> re1 = re.compile(r'''^\\begin\{description\}\n
>
>\\item\[\{([^\}]+)\}\]\s\\leavevmode\n
>
>   (.*^(\n\\end\{description\}))\n\\end\{description\}$''',
> re.M | re.S | re.X)
>
>
> Ma così non funziona. C'è un modo per evitare il backtracking?
>

non credo che ci sia modo di evitare una intera stringa, che è quello che
cercavi di fare tu, bensì al più un solo carattere

Dalla documentazione:

Characters that are not within a range can be matched by
*complementing*the set. If the first character of the set is
'^', all the characters that are *not* in the set will be matched. For
example, [^5] will match any character except '5', and [^^] will match any
character except '^'. ^ has no special meaning if it’s not the first
character in the set.

... non si parla di sequenze ma solo di singoli caratteri

direi che non c'è scampo all'andare di non-greedy come effettivamente hai
fatto

Se non ricordo male questa limitazione è intrinseca e ha a che fare con il
vincolo delle espressioni regolari di poter essere implementate con automi
a stati finiti

gradite altre opinioni,
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Xkcd

2013-09-11 Thread Marco De Paoli
2013/9/11 Marco Beri 

> http://xkcd.com/1263/
>
> :-)
>

LOL
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] parsing pagina web

2013-09-11 Thread Marco De Paoli
Il giorno 10 settembre 2013 17:26, Gollum1  ha
scritto:

> Ciao []
>

lol


> se faccio hendle_data(data), mi vedo passare i dati contenuti in TUTTI
> i tag della pagina, non solo quelli di cui ho bisogno... come posso
> fare a discriminare quelli su cui devo lavorare?
>

secondo me fare il parsing via sax è un po' complicato
hai valutato di individuare gli elementi via xpath esempio con lxml

Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] parsing pagina web

2013-09-11 Thread Marco De Paoli
Il giorno 11 settembre 2013 18:09, Marco De Paoli  ha
scritto:

>
>
>
> Il giorno 11 settembre 2013 18:05, Nicola Larosa  ha
> scritto:
>
> > Marco De Paoli wrote:
>> >> Ciao [x for in world if x is super-programmer]
>>
>> Marco De Paoli wrote:
>> > il trattino è ovviamente una licenza sintattica!
>>
>> Non ci arriva nemmeno lì, c'è un altro errore di sintassi prima. ;-)
>>
>
> diciamo che le licenze sintattiche abbondano, e anche i sottointesi
> ... siamo a livello di parser intuitivo!
>
>
linguaggi regolari, liberi dal contesto, dipendenti dal contesto, ... via
via fino ai linguaggi oracolari!
non escludo che python ci arrivi

la pep la scrivi tu?
titolo: "Python mentalism"

ok, scusate l'OT, ciao lista!
Marco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] parsing pagina web

2013-09-11 Thread Marco De Paoli
Il giorno 11 settembre 2013 18:05, Nicola Larosa  ha
scritto:

> > Marco De Paoli wrote:
> >> Ciao [x for in world if x is super-programmer]
>
> Marco De Paoli wrote:
> > il trattino è ovviamente una licenza sintattica!
>
> Non ci arriva nemmeno lì, c'è un altro errore di sintassi prima. ;-)
>

diciamo che le licenze sintattiche abbondano, e anche i sottointesi
... siamo a livello di parser intuitivo!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] parsing pagina web

2013-09-11 Thread Marco De Paoli
2013/9/11 Marco De Paoli 
>
>  Ciao [x for in world if x is super-programmer]
>
> il trattino è ovviamente una licenza sintattica!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


  1   2   3   >