Re: [Python] Utilizzo di Readline con socket
NOTA: le variabili dovrebbero iniziare con una lettera minuscola. E' una convenzione o é obbligatorio ? Perché sto studiando il python sul testo pensare Informatico ma non ho trovato riferimenti alle maiuscole Ma non stavi parlando di socket? Come funziona il collegamento via seriale? Il socket é fatto via bluetooth sul cellulare #Avvio del server RFCOMMdef StartServer():global connserver = socket.socket(socket.AF_BT, socket.SOCK_STREAM)channel = socket.bt_rfcomm_get_available_server_channel(server)server.bind((, channel))server.listen(1)socket.bt_advertise_service(uJesterPlugIn, server, True, socket.RFCOMM)socket.set_security(server, socket.AUTH | socket.AUTHOR)print - Waiting for clients...conn, client_addr = server.accept()return connprint - Jester connected with phone Esite un modo per aggirare il problema di ReadLine ? Ho provatao anche con l'istruzione read ma nessun riultato :( Lo script sul telefono sul telefono comunica con un client fatto in vb6 su Windows ed in RealBasic su Mac. _ Organizza le tue feste e condividine le foto con Windows Live Eventi! http://home.services.spaces.live.com/events/___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Utilizzo di Readline con socket
De Santis Luca ha scritto: NOTA: le variabili dovrebbero iniziare con una lettera minuscola. E' una convenzione o é obbligatorio ? Perché sto studiando il python sul testo pensare Informatico ma non ho trovato riferimenti alle maiuscole http://python.org/dev/peps/pep-0008/ Ma non stavi parlando di socket? Come funziona il collegamento via seriale? Il socket é fatto via bluetooth sul cellulare #Avvio del server RFCOMM def StartServer(): global conn server = socket.socket(socket.AF_BT, socket.SOCK_STREAM) Non conoscevo questa possibiltà. Quindi ti connetti via bluetooth e non via seriale. channel = socket.bt_rfcomm_get_available_server_channel(server) server.bind((, channel)) server.listen(1) socket.bt_advertise_service(uJesterPlugIn, server, True, socket.RFCOMM) socket.set_security(server, socket.AUTH | socket.AUTHOR) print - Waiting for clients... conn, client_addr = server.accept() return conn print - Jester connected with phone Esite un modo per aggirare il problema di ReadLine ? Ho provatao anche con l'istruzione read ma nessun riultato :( Lo script sul telefono sul telefono comunica con un client fatto in vb6 su Windows ed in RealBasic su Mac. Ora non conosco i dettagli della gestione di un socket della famiglia bluetooth, ma di solito una readline blocca fino a che non accade una delle seguenti condizioni: 1) Ci sono dati disponibili nel buffer di ricezione 2) Tra i dati disponibili c'è il terminatore di linea (dovrebbe essere '\n') 3) Il client chiude la connessione La soluzione è usare select o poll e leggere dei dati *solo* quando disponibili, impostando i socket in modalità non bloccante. Nota che comunque c'è la possibilità che readline blocchi, ad esempio se sono disponibili dei dati nel buffer di ricezione ma non il terminatore di linea. Nel tuo caso non dovrebbero esserci problemi, ma dovresti controllare. La soluzione alternativa (popolare, ma sconsigliata) è usare un thread separato. Manlio Perillo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] [Python C] Letture consigliate
Ciao a tutti. Volevo cherede se mi potevate consigliare qualche lettura per imparare a estendere Python con il C, o quantomeno a interfacciare un listato in C con uno script Python. Grazie a tutti. -- -Massimiliano Giovine Aksel Peter Jørgensen dice: Why make things difficult, when it is possible to make them cryptic and totally illogic, with just a little bit more effort? Blog: http://opentalking.blogspot.com Il vero programmatore: http://www.arcetri.astro.it/~comore/true_programmer.txt ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] diversi __init__ ??
Java ha scritto: E a tal proposito ne approfitto per scagliare un'altra frecciatina: il python la javadoc se la sogna di notte, poi si sveglia tutto sudato e si accorge di avere solo un elenco di funzioni con parametri e valori restituiti. Vorrei assicurarmi che tu conosca già epydoc... e gradirei sapere se per il Java c'è qualcosa di ganzo come ipython per programmare letteralmente al volo (sfruttando anche - appunto - le docstring). Per me, che di Python sono abbastanza ignorante, ipython significa non ti preoccupare dei nomi di funzioni e classi, né di come si usano: mettiti al lavoro e il resto verrà da sé. Ed è una cosa che nel mio breve excursus in Java non ho notato. Ma questa è una cosa che riguarda anche tutti gli altri linguaggi che ho visto... ciao Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] libreria per grafi?
Ciao io ho usato: http://www.graphviz.org/Resources.php Il 30/01/08, Java [EMAIL PROTECTED] ha scritto: Qualcunbo di voi conosce una libreria per creare grafi (nodi e archi) in python? O mi devo fare tutto a manina? ___ 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] diversi __init__ ??
sorry problemi con gmail :) cmq ritengo che fare pesante uso di overloading sia cmq una pessima soluzione al problema .. magari la soluzione di python e' estrema nell'altro senso pero' fino ad ora nessuno si e' lamentato piu' di tanto, quindi sembra funzionare. saluti spaghetty ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] diversi __init__ ??
Java ha scritto: Vorrei assicurarmi che tu conosca già epydoc... epydoc è un ottimo progetto (che sembra comunque di terze parti) che emula, sicuramente anche in maniera ottima, la javadoc e gradirei sapere se per il Java c'è qualcosa di ganzo come ipython per programmare letteralmente al volo (sfruttando anche - appunto - le docstring). ipython è una shell alternativa a quella di python, e pure questa è mi sembra sviluppata da terzi. Sono entrambi di terze parti, ed entrambi dimostrano l'intrinseca qualità e maneggevolezza di un codice Python ben scritto e documentato. Se è questo che intendi per terze parti, dietro a Python non c'è nessuna Sun. Se invece intendi mi aspettavo di trovare una gestione della documentazione nelle librerie standard, http://www.python.org/doc/2.4/lib/module-pydoc.html una shell in java, c++ o altro non ha proprio senso Appunto. Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] libreria per grafi?
Java ha scritto: Qualcunbo di voi conosce una libreria per creare grafi (nodi e archi) in python? O mi devo fare tutto a manina? ___ Python mailing list Sinceramente non ne conosco moduli sui grafi,ma puoi gestirti le connessioni tra i nodi creandoti una matrice delle adiacenze... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] libreria per grafi?
Java ha scritto: Sinceramente non ne conosco moduli sui grafi,ma puoi gestirti le connessioni tra i nodi creandoti una matrice delle adiacenze... mmm volevo evitarla, dato che potrei raccogliere *molti* nodi (nell'ordine delle miglialia) e la matrice diventa troppo cicciona da gestire http://osl.iu.edu/~dgregor/bgl-python/reference/boost.graph.html Detto ciò, con migliaia di nodi la matrice è ovviamente ingestibile, ma una semplice classe class nodo(list): (tecnicamente parlando, una rappresentazione sparsa della matrice delle adiacenze) risolve il problema (anche se ovviamente non dà funzioni di libreria che possono risultare utili, e anche se per ottenere risultati decenti in casi di grafi direzionali è spesso necessario che ogni nodo ricordi anche gli archi entranti, e quindi avere due liste). Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] avrei bisogno del valore null... o almeno credo...
Prima di tutto chiedo perdono per il bombardamento di domande... Poi... ecco di cosa vrei bisogno (una riga di pseudocodice vale più di mille parole): # devo aggiornare questa lista rete = [lista di oggetti con etichetta] # usando i dati di questa lista = [lista[0]è la testa tutti gli altri sono Etichette] testa = null for elem in lista: if elem.getEtichetta() == lista[0]: testa = elem else: testa = Elemento() # da qui in poi lavoro su testa Spero che si capisca che testa può essere sia un nuovo oggetto Elemento e sia un'oggetto già presente in rete. Quello che ci faccio dopo è identico in entrambi i casi, ma senza valore null non so come fare Potrei subito creare testa = Elemento(), ma se poi invece devo solo aggiornare un valore già presente, ho creato inutilmente un nuovo oggetto che resterà in giro fino al prossimo garbage collecting... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
Il giorno 30/gen/08, alle ore 18:18, Java ha scritto: CUT testa = null for elem in lista: if elem.getEtichetta() == lista[0]: testa = elem else: testa = Elemento() # da qui in poi lavoro su testa Spero che si capisca che testa può essere sia un nuovo oggetto Elemento e sia un'oggetto già presente in rete. Penso che stai ragionando in un altro linguaggio, non in python. Comunque, col tempo farai refactoring ;-) In python (e in altri linguaggi furbi) non c'è alcun bisogno di metodi getter/setter. Accedi direttamente all'attributo che ti interessa, se poi un giorno hai bisogno di controllare l'accesso trasformerai l'attributo in una property e il tutto ti funzionerà automaticamente, senza modificare nient'altro. Comunque non mi è molto chiaro il tuo problema, ma il codice che hai scritto mi sembra errato, per ogni elemento della lista, se getEtichetta() non è uguale a lista[0] viene creato un nuovo oggetto Elemento che poi viene perso. Dovresti quantomeno mettere un'istruzione di uscita dal ciclo da qualche parte, ma probabilmente esiste una strada migliore. Di preciso, cosa devi fare? Quello che ci faccio dopo è identico in entrambi i casi, ma senza valore null non so come fare In python esiste l'oggetto None, che viene sempre valutato False. In ogni caso non mi sembra che ti serva. Potrei subito creare testa = Elemento(), ma se poi invece devo solo aggiornare un valore già presente, ho creato inutilmente un nuovo oggetto che resterà in giro fino al prossimo garbage collecting... Ecco, appunto :-) Ti consiglio di non porti troppi problemi del genere, a meno che questo oggetto Elemento non pesi davvero troppo non è proprio un problema crearlo. Soprattutto visto che nel codice sopra ne crei len (lista) - 1 ;-) -- Antonio Valente ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
On Jan 30, 2008 6:18 PM, Java [EMAIL PROTECTED] wrote: Prima di tutto chiedo perdono per il bombardamento di domande... Poi... ecco di cosa vrei bisogno (una riga di pseudocodice vale più di mille parole): # devo aggiornare questa lista rete = [lista di oggetti con etichetta] # usando i dati di questa lista = [lista[0]è la testa tutti gli altri sono Etichette] testa = null for elem in lista: if elem.getEtichetta() == lista[0]: testa = elem else: testa = Elemento() # da qui in poi lavoro su testa Spero che si capisca che testa può essere sia un nuovo oggetto Elemento e sia un'oggetto già presente in rete. Quello che ci faccio dopo è identico in entrambi i casi, ma senza valore null non so come fare Potrei subito creare testa = Elemento(), ma se poi invece devo solo aggiornare un valore già presente, ho creato inutilmente un nuovo oggetto che resterà in giro fino al prossimo garbage collecting... Non mi è chiaro il tuo problema Dall'esempio di codice che hai mandato, non c'è nessuno bisogno di creare un nameholder testa (comunque sarebbe testa = None) semplicemente nei due casi assegni testa a due oggetti diversi, di volta in volta o elem o Elemento() Ti faccio ntoare che il tuo codice assegna testa all'ULTIMO elem in lista che abbia l'etichetta giusta. Ma forse il codice che volevi scrivere era: rete = [elem for elem in lista if elem.etichetta == qualcosa] ? Non mi piace molto neanche il metodo getEtichetta, non ti basta leggere elem.etichetta? ciao, Francesco ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
Francesco Guerrieri ha scritto: # devo aggiornare questa lista rete = [lista di oggetti con etichetta] # usando i dati di questa lista = [lista[0]è la testa tutti gli altri sono Etichette] testa = null for elem in lista: if elem.getEtichetta() == lista[0]: testa = elem else: testa = Elemento() # da qui in poi lavoro su testa Non mi è chiaro il tuo problema Dall'esempio di codice che hai mandato, non c'è nessuno bisogno di creare un nameholder testa (comunque sarebbe testa = None) mmm senza quel testa = None, la variabil testa si vedrebbe fuori dal ciclo for?? Se si allora non ci vuole semplicemente nei due casi assegni testa a due oggetti diversi, di volta in volta o elem o Elemento() Ti faccio ntoare che il tuo codice assegna testa all'ULTIMO elem in lista che abbia l'etichetta giusta. Ultimo e unico, (se tutto è andato bene :-D) Ma forse il codice che volevi scrivere era: rete = [elem for elem in lista if elem.etichetta == qualcosa] mmm forse si, ma ora sono veramente fuso (tra lavoro e studio ho fatto 11 ore al pc :-( ) ? Non mi piace molto neanche il metodo getEtichetta, non ti basta leggere elem.etichetta? hem rimasugli di UML e Ingegneria del software. ciao, Francesco adieu ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Utilizzo di Readline con socket
De Santis Luca ha scritto: La soluzione è usare select o poll e leggere dei dati *solo* quando disponibili, impostando i socket in modalità non bloccante. Ho spulciato tutta la documentazione di pys60 e putroppo select é suppoerato solo per i dati in uscita, non per quelli in ingresso e per le eccezioni :( Mi sembra assurdo... Prova a chiedere su un forum specifico come si fa per sapere quando c'è qualcosa da leggere in un socket. Manlio Perillo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] diversi __init__ ??
On Jan 30, 2008, at 4:14 PM, Java wrote: ipython è una shell alternativa a quella di python, e pure questa è mi sembra sviluppata da terzi. E quindi? una shell in java, c++ o altro non ha proprio senso Non è che 'non ha senso', è che è una mina farla. Per il resto sarebbe piuttosto comoda averla (e non a caso in Java stanno battendo strade per avere cose analoghe, vedi tutto l'interesse per i vari linguaggi dinamici da embeddare etc etc etc. Ah... vedi BeanShell. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] libreria per grafi?
On Jan 30, 2008, at 4:08 PM, Java wrote: Qualcunbo di voi conosce una libreria per creare grafi (nodi e archi) in python? O mi devo fare tutto a manina? https://networkx.lanl.gov/wiki http://osl.iu.edu/~dgregor/bgl-python/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] avrei bisogno del valore null... o almeno credo...
On Jan 30, 2008, at 6:54 PM, Java wrote: mmm senza quel testa = None, la variabil testa si vedrebbe fuori dal ciclo for?? Se si allora non ci vuole E' una cosa che sorprende spesso anche me. Ti cito un passo del Python in a Nutshell. A function's parameters, plus any variables that are bound (by assignment or by other binding statements) in the function body, make the function's local namespace, also known as local scope. Direi che è abbastanza chiaro. mmm forse si, ma ora sono veramente fuso (tra lavoro e studio ho fatto 11 ore al pc :-( ) Cerca comunque sempre di pensare in maniera pythonica, non di tradurre codice 'pensato' in altri linguaggi. Con il tempo viene naturale. C'era un vecchio adagio sul fatto che i programmatori Lisp fossero talmente abituati a soluzioni eleganti da tirarne fuori di particolarmente eleganti anche quando 'costretti' ad usare 'linguaggi da meno'. hem rimasugli di UML e Ingegneria del software. Sigh, non si rendono nemmeno conto di quanto male faccia insegnare UML. :( Ad ogni modo in *Python* usiamo direttamente il valore senza passare per i setter. Questo si può fare perchè c'è property che in caso di bisogno ti cava d'impiccio senza bisgno di modificare il codice. Effettivamente in altri linguaggi passi proprio per dei getter e setter. La cosa per esempio è sensata in Java e in C++ (anche se in Java fra IDE, beans e tutto ce la si scavella). In Ruby al di la del fatto che pure hai un modo facile per creare getter e setter, a tutti gli effetti li stai usando (anche se non li definisci esplicitamente). In C# dalla regia dicono che pure ci sono delle properties. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python