[Python] argparse e stringhe

2020-04-08 Per discussione Matteo Perini

Ciao a tutti,

ho un problemino con il comportamento di argparse.

Sto facendo delle prove con questo script di test:

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-t", "--text", default = 'ci\nao', type=str)
    args = parser.parse_args()
    text = args.text
    for line in text.split('\n'):
        print(line)

Se eseguo lo script senza argomenti il risultato è quello atteso:

ci

ao

Il "\n" viene interpretato correttamente.

Se però eseguo lo script mettendo come argomento -t "ci\nao" il 
risultato è:


ci\nao

problema che riesco a risolvere convertendo text così:

text = bytes(args.text, "utf-8").decode("unicode_escape")

a questo punto ottengo di nuovo l'andata a capo.


Ultimo caso, se l'utente non mette le virgolette  e scrive -t ci\nao il 
risultato di args.text è:


cinao

mi toglie solo la "\" e a questo punto io non so più come trattarlo.

Che voi sappiate c'è un modo per controllare se un argomento ha le 
virgolette o no.


Oppure trattare l'input sempre come raw?

Penso sia un problema che potrebbe essere piuttosto comune ma non ho 
trovato soluzioni online.


Ciao

Matteo



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


Re: [Python] linguaggio braille

2020-04-07 Per discussione Matteo Perini

Ciao,

riprendo il discorso su questo linguaggio.

L'argomento è molto affascinante ma, o non trovo le fonti giuste, o c'è 
un po' di confusione in giro per internet.


Per esempio vorrei capire se il punto esclamativo "!" e il più "+" usano 
lo stesso simbolo (235) (uso questa notazione per evidenziare i puntini 
utilizzati nel braille 6 dots).


Quando viene usato il carattere punto fermo (256) e quando il punto (3)?

Per esempio per scrivere i numeri che carattere si usa solitamente per 
dividere la parte intera da quella decimale? Punto (256), Punto (3) o 
Virgola (2)?


Il carattere @ (at) per scrivere le email in italiano è (345)?

Facendo un controllo ci sono alcune combinazioni che vengono usate per 
più di una lettera mentre, in italiano, alcune combinazioni non sono 
utilizzate per niente. È possibile?


Ad esempio per le combinazioni:

(5)

(6)

(56)

(1246)

(356)

(12456)

non trovo una corrispondenza.

Grazie a chi ha letto fino qui e magari sa rispondere a qualcuna di 
queste domande.


Resto a disposizione se mi fossi espresso male.

Ciao

Matteo

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


Re: [Python] linguaggio braille

2020-04-03 Per discussione Matteo Perini

Il 03/04/20 16:57, Giovanni Porcari ha scritto:


non so se può aiutarti:https://github.com/louisheath/braille-printer


Carino l'uso di blender!

Però (in 2 minuti) non sono riuscito a farlo andare.

più tardi ci guardo.

Grazie

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


Re: [Python] linguaggio braille

2020-04-03 Per discussione Matteo Perini


Il 03/04/20 15:34, Daniele Zambelli ha scritto:

In questa lista è richiesto il top quoting con le risposte scritte
dopo le domande.

Matteo:

Ciao Daniele, si questo mi era chiaro.

Ho scritto sopra perchè credevo di agevolare la "lettura"


Io tempo addietro avevo scritto un programmino che partiva da un .png
e produceva il file in rilievo per la stampante 3D.
Se ti può servire posso andare a ricercarlo e condividerlo.


Matteo:

Interessante, usavi il livello del colore per capire dove c'erano i 
punti e dove no?


Come costruivi la mesh?

Io ho usato la libreria alla base di freecad (le opencascade) per creare 
il modello solido parametrico.


Per ora posso esportare in SVG vettoriale che può essere comodo da 
punzonare, in STEP che è il formato CAD di cui sopra e STL che è il 
formato richiesto solitamente dalle stampanti 3D.


Devo solo sistemare la questione alfabeto e poi lo metto online.


Detto questo vi chiederei anche un feedback... vi pare un progetto utile?

Cosa andrebbe integrato per renderlo più fruibile?


Ciao

Matteo

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


Re: [Python] linguaggio braille

2020-04-03 Per discussione Matteo Perini

Ciao Gabriele,

dei test sarebbero utili a dir la verità ma non saprei come farli.

Ci penso.

Intanto provo ad implementare il tutto con l'alfabeto italiano.

Grazie

Matteo

P.S: mi stanno venendo un sacco di domande come per esempio: è più 
comodo il top posting oppure le risposte in linea?


Fine risposta

Il 03/04/20 14:44, Gabriele Battaglia ha scritto:

Ciao Matteo.
Un altro sono io.
Concordo con Luigi e se ti serve aiuto e test, conta pure su di me.
Gabriele.

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


Re: [Python] linguaggio braille

2020-04-03 Per discussione Matteo Perini

Ciao Gigi,

grazie per la veloce risposta!

allora ti chiederei direttamente altre due cose:

1) Conviene usare una versione internazionale del linguaggio o punto 
alla versione italiana?


2) Ho visto che, per esempio,  per fare le maiuscole o i numeri si 
utilizzano due simboli associati. è una cosa comune o è meglio scrivere 
tutto in maiuscolo.



Spero che le mie domande non siano troppo stupide ma come ogni cosa 
nuova mi sembra un mondo strano.


Ciao e grazie

Matteo

Fine risposta


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


[Python] linguaggio braille

2020-04-03 Per discussione Matteo Perini

Ciao,

uso questa lista perchè ricordo che ci sono delle persone non vedenti 
che potrebbero aiutarmi.



Mi è stato chiesto di stampare in 3D molte targhe in linguaggio braille.

Siccome ci vuole parecchio tempo a disegnare ogni targa mi sto scrivendo 
uno script python che mi crei il solido in automatico pronto da 
stampare. Se viene bene poi mi piacerebbe rilasciarlo open e fruibile 
(magari on line).



La programmazione non è molto complessa ma mi sto scontrando con altri 
problemi come:


1) E' meglio usare braille 6 dots o 8 dots?

2) C'è un braille internazionale (vedo che ogni lingua ha il suo... 
possibile)?



Se qualcuno di voi avesse risposte o volesse aiutarmi a capire mi 
farebbe piacere.


Magari essendo un po' off topic se volete rispondetemi in privato


Ciao e grazie

Matteo


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


Re: [Python] [OT] Richiesta aiuto scelta tastiera.

2019-05-16 Per discussione Matteo Perini


Il 16/05/19 12:05, Gabriele Battaglia ha scritto:

Reply to the Giuseppe Amato's message, wrote on 16/05/2019 at 11:57:


    Ho bisogno che sia estesa, che abbia:
    1. il tastierino numerico;
    2. insert, delete, home, end, pg up e pg down
    3. il tasto applicazioni (quello per il menù contestuale, 
solitamente a

    destra della spaziatrice.


Mi sembra che questa abbia tutte le caratteristiche cercate ed è anche 
Logitech



https://www.amazon.it/Logitech-MK270-Tastiera-Wireless-Italiano/dp/B00D2PX8C2/ref=sr_1_fkmrnull_1?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91=tastiera+gaming+logitech+bluethoot=1558001468=electronics=1-1-fkmrnull


Ciao

Matteo

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


[Python] Humble Bundle di libri oreilly su Python

2019-04-30 Per discussione Matteo Perini

Ciao a tutti,

Magari a qualcuno interessa!

https://www.humblebundle.com/books/python-oreilly-books?linkID==102:5cc149c5abaf4e2b6ab30e8e:ot:56e850b9733462ca899bb48c:1_source=Humble+Bundle+Newsletter_medium=email_campaign=2019_04_29_pythonbyoreilly_bookbundle=_content=cta_button

P.S: bello rivedere una lista attiva

Ciao

Matteo

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


Re: [Python] Esercizio python

2018-11-29 Per discussione Matteo Perini


Il 29/11/18 13:10, gjomem...@virgilio.it ha scritto:


Salve a tutti ho questo esercizio da fare ma sto riscontrando 
difficoltà. Vorrei chiederevi: qual'è il modo più pythonico per svolgerlo?


Testo esercizio: Prendere in input una sequenza di numeri e 
v0v1v2...vn, sollevareTypeError 
se nella sequenza ci sono 
elementi che non si possono sommare. Restituire una lista della stessa 
lunghezza di seq dove alla posizione i si ha il valore ∑ con j da 0 a 
i, di vi. Grazie per laa vostra attenzione



Ciao,

(trascuro la parte di input dei dati)

i dati li andrei a mettere in un numpy array.

Il risultato che vuoi ottenere è dato da un singolo comando: numpy.cumsum()


In [1]: import numpy as np

In [2]: a = np.array([1,2,3,4,5,6])

In [3]: a.cumsum()
Out[3]: array([ 1,  3,  6, 10, 15, 21])

Ciao

M

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


Re: [Python] [per Gabriella in particolare] Configurazioned iNotepad++per esecuzione degli script python.

2018-07-13 Per discussione Matteo Perini
> Per la cronaca, il path non l'ho aggiunto io. E, sempre per la cronaca, il
> tuo comando rompe quel prompt dei comandi (indovina perché?)
>

Chiedo scusa non volevo complicare le cose.

>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [per Gabriella in particolare] Configurazioned iNotepad++per esecuzione degli script python.

2018-07-13 Per discussione Matteo Perini



Il 12/07/2018 22:13, Gollum1 ha scritto:

c) dalla console di sistema cmd, scrivi il comando python

Purtroppo su winzozz anche questo non è così banale.
bisogna prima dare il comando:
/set path = C: \ Python37
/
//No comment!

/Ma visto che Gabriella è già in grado di aprire IDLE le consiglierei di 
usare direttamente l'editor di  IDLE.
Quando si è nella console basta schiacciare ctrl-n e un nuofo flie di 
testo viene aperto.
Inoltre con F5 viene eseguito automaticamente e l'output è disponibile 
nella console.


Ciao
Matteo
/
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] seconda prova della mia calcolatrice. non va a ncora

2018-07-10 Per discussione Matteo Perini



Il 10/07/2018 17:04, Marcello ha scritto:

print('il risultato \xe8'), x+y

In ogni caso il risultato non  viene visualizzato!
Magari sbaglio ma secondo me la parentesi dovrebbe contenere anche x+y.

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


Re: [Python] seconda prova della mia calcolatrice. non va a ncora

2018-07-10 Per discussione Matteo Perini



Il 10/07/2018 16:53, laziale ha scritto:

non va, neanche scrivendo:
x = float e y = float

Riguarda bene la mia risposta.
Non è vero  che il tuo esempio funziona in modo appropriato con python3.
(serve tanta pazienza all'inizio... ma poi diventa più facile)
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] seconda prova della mia calcolatrice. non va ancora

2018-07-10 Per discussione Matteo Perini



Il 10/07/2018 16:19, laziale ha scritto:

print('benvenuti nella nuovissima calcolatrice, premere invio per continuare')
x = input('scrivi il primo numero')
y = input('crivi il secondo numero')
print('il risultato è'), x+y

Prova così:

print('benvenuti nella nuovissima calcolatrice, premere invio per 
continuare')

x = float(input('scrivi il primo numero'))
y = float(input('crivi il secondo numero'))
print('il risultato è', x+y)

Il primo problema è che le parentesi erano sbagliate nell'ultima riga.
Il secondo problema è che x e y venivano visti come stringhe e non come 
numeri.


Ciao
Matteo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] class import path

2018-06-12 Per discussione Matteo Perini

ciao a tutti,

ho un progetto che contiene una serie di sub-directory (diciamo src e lib).

ora in un file project/src/file1.py  avrei bisogno di una classe 
(myclass) che è presente in project/lib/class.py


come posso importarla?


se il file è nella stessa directory scrivo:

from class import myclass

se è in una sub-directory scrivo:

from sub-directory.class import myclass


Ma nel caso sopra?

Grazie

Matteo

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


Re: [Python] protocollo x509 e web server

2017-05-11 Per discussione Matteo Perini



Ti consiglio di scaricarti soapui:

- https://www.soapui.org/downloads/soapui.html

Testa il ws da li'.

Quando hai una richiesta che va a buon fine dovresti poter vedere la
richiesta HTTP completa che fa.

Poi prova a replicarla con il tuo codice Python.
Dopo averne provate un sacco, la libreria che ho usato l'ultima volta
e' stata pysimplesoap.
Ovviamente usa quella che meglio si adatta al tuo caso (se vuoi
smanettare un po' pure requests va bene, addirittura una volta ho
usato curl per fare dei test).

Tip per il testing.
A volte, per vedere la richiesta sopa che genero, lancio il comando:

nc -l 8000 (o la porta che vuoi)

ed uso localhost:8000 come end point.

Ciao.

Ciao,
grazie dei consigli.
sto provando soappy!

Il codice è semplicemente questo:

url='https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl'
SOAPpy.Config.SSL.cert_file = 'SGA-Services.cer'
SOAPpy.Config.SSL.key_file = 'privateKey.pem'

server = SOAPpy.SOAPProxy(url)

print server.IstituzioniScolastiche()

Mi viene chiesta la password che inserisco ma il risultato è questo errore:

  File "pc.py", line 12, in 
print server.IstituzioniScolastiche()
  File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
547, in __call__

return self.__r_call(*args, **kw)
  File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
569, in __r_call

self.__hd, self.__ma)
  File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
432, in __call

timeout = self.timeout)
  File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
208, in call
r = httplib.HTTPS(real_addr, key_file=config.SSL.key_file, 
cert_file=config.SSL.cert_file)

  File "/usr/lib/python2.7/httplib.py", line 1286, in __init__
context=context))
  File "/usr/lib/python2.7/httplib.py", line 1249, in __init__
context.load_cert_chain(cert_file, key_file)
IOError: [Errno 22] Invalid argument


ho provato a cercare online l'errore ma non trovo risposte.
Idee?
Grazie

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


Re: [Python] protocollo x509 e web server

2017-05-11 Per discussione Matteo Perini

Ciao,
rilancio la richiesta di aiuto.

Dovrei interrogare il db a questo link:

https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl

Io ho il certificato, la chiave pubblica e quella privata.

Online ho trovato qualcosa che usa socket e request  o pycurl ma il 
server mi risponde sempre con un xml che contiene:

"An error occurred when verifying security for the message"


Potreste indicarmi una strada per fare la richiesta?

Per me una libreria vale l'altra ma vorrei capire cosa sbaglio e perchè 
la richiesta non va a buon fine.


Grazie mille
Matteo

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


[Python] protocollo x509 e web server

2017-05-09 Per discussione Matteo Perini

Ciao a tutti,

sto cercando di aiutare un amico che deve caricare dei dati di un 
registro elettronico open source "Lampschool" su un server che utilizza 
il protocollo in oggetto per l'autenticazione.


Premetto che non so quasi nulla di queste cose ma volevo aiutare un 
progetto interessante.


Questo è un pezzo del codice:

--

from zeep import Client
from lxml import etree
from zeep import xsd
from zeep.transports import Transport
from requests import Session
from zeep.wsse.signature import Signature
public_key = "publicKey.pem"
private_key = "privateKey.pem"
cert = "SGA-Services.cer"

session = Session()
session.verify = True
session.timeout = 10
session.get('https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl', 
cert=(public_key, private_key))



client = 
Client('https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl',wsse=Signature(private_key,public_key,password),transport=Transport(session=session))



with client.options(raw_response=True):
response = client.service.IstituzioniScolastiche()

# response is now a regular requests.Response object
assert response.content

---

ma la risposta del server dopo che ho inserito la password è:

b'http://www.w3.org/2003/05/soap-envelope; 
xmlns:a="http://www.w3.org/2005/08/addressing;>s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/faulturn:uuid:b2a55910-7152-4196-97d7-5b4044ff732cs:Senderxmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd;>a:InvalidSecurityxml:lang="it-IT">An error occurred when verifying security for the 
message.'



Qualcuno di voi ha esperienza di queste cose?

Potreste darmi qualche dritta su come iniziare a fare richieste a questo 
web service che è costruito in asp su IIS e utilizza WSE come sicurezza.



Grazie mille per qualsiasi dritta

Matteo

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


Re: [Python] Tkinter

2017-01-13 Per discussione Matteo Perini

Esatto!

E funziona anche a me!

Linux con python 3.6.0

Non ti da nessun errore?

Ciao

M


Il 13/01/2017 15:47, Francesco Maida ha scritto:
Se non capisco male dal codice dovrebbe modificare il colore di sfondo 
del campo con un blu?


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


Re: [Python] R: numero arbitrario di label tkinter

2016-10-26 Per discussione Matteo Perini



Il 25/10/2016 20:39, Giuliano Curti ha scritto:

PS: è dall'inizio del thread che mi balena in testa la domanda, sempre
trattenuta per rispetto, ed anche adesso non vorrei risultasse
irrispettosa perchè è sola curiosità: come mai una libreria grafica
così "obsoleta"? hai qualche dipendenza da rispettare? avevo usato
parecchio la tkinter con il perl e qualcosa all'inizio con python, ma
poi ho scoperto pyQt (e anche pyGtk) e non mi sembra esserci confronto
:-)  ovviamente imho:-)

Ciao,
sono completamente d'accordo con te.
Di solito uso le gtk ma per questo progettino mi serviva qualcosa di 
leggero, e multipiattaforma (senza troppe dipendenze (deve funzionare su 
raspberry, mac, win e linux)


Non sono esperto di ambienti grafici ma informandomi un po' sembra che 
tkinter e wx soddisfino meglio questo requisito rispetto a gtk o qt e mi 
sono buttato su tkinter.


Spero di non incontrare troppi problemi ma fin'ora non è andata malaccio.
Ciao
M.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: numero arbitrario di label tkinter

2016-10-26 Per discussione Matteo Perini

Ciao,
grazie a tutti delle risposte!
Ho risolto e posto la soluzione per i posteri.
...
label = {}

L=[Image.open(path+'/'+i) for i in images]
LL=[ImageTk.PhotoImage(i.resize((int(i.size[0]/r),int(i.size[1]/r)), 
Image.ANTIALIAS)) for i in L]

for n,i in enumerate(L):

l=tkinter.Label(self, image= LL[n])
l.grid(row=2, column=n)
label[str(n)] = l
...

bisogna creare un dizionario che contenga (e tenga memoria) di tutti gli 
elementi grafici creati.


Buon lavoro a tutti
Ciao
M.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] numero arbitrario di label tkinter

2016-10-25 Per discussione Matteo Perini

Ciao a tutti,

mi ritrovo con un piccolo dilemma.

Vorrei fare una specie di preview delle immagini in una cartella e 
visualizzarle in una finestra (stile pop-up) in tkinter


#

Ho costruito una classe per la finestra:

class Images_Dialog(tkinter.Toplevel):

def __init__(self, parent, path, images):

tkinter.Toplevel.__init__(self, parent)
self.parent = parent
for n,i in enumerate(images):
with Image.open(path+'/'+i) as img:

#img.show()
tkinter.Label(self, image= 
ImageTk.PhotoImage(img)).grid(row=2, column=n)




self.exit_button = ttk.Button(self, text="Exit", 
command=self.cancel)

self.exit_button.grid(row=4, column=0, columnspan=2, sticky='NSWE')
self.grab_set()

self.protocol("WM_DELETE_WINDOW", self.cancel)
self.focus_set()
self.wait_window(self)

def cancel(self, event=None):
self.parent.focus_set()
self.destroy()

##

Come vedete è tutto molto semplice... ma le immagini non vengono 
visualizzate.


Se decommento img.show() le immagini vengono mostrate (ma non nelle label)

se cambio il numero e la dimensione delle immagini cambia anche la 
dimensione della finestra quindi mi sembra di capire che qualcosa venga 
riconosciuto.


Temo che il problema è come genero un numero arbitrario di label ma non 
saprei in che altro modo fare quindi vi chiedo un consiglio.


Ciao

M.


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


Re: [Python] OT: Imparare un altro linguaggio

2016-04-14 Per discussione Matteo Perini



Il 14/04/2016 15:40, Simone Federici ha scritto:


Forse se ci dici in che ambito lavori possiamo darti una mano a scegliere.

In effetti
Ora sto cambiando!
Ho lavorato in ambiente industriale con robot kuka e microcontrollori di 
vario tipo nonchè in ambito scansione 3D.
In autunno vorrei cominciare un PhD in campo "macchine CNC" con un 
occhio particolare ai software CAM [0].

Per questo motivo ho l'estate abbastanza libera e volevo approfittarne.

Credo che il C possa aiutarmi più di altri programmi in questo ambito, 
ho già usato del simil-C su plc o microcontrollori ma non credo sia la 
stessa cosa.


M.


[0] https://it.wikipedia.org/wiki/Computer-aided_manufacturing
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] OT: Imparare un altro linguaggio

2016-04-14 Per discussione Matteo Perini



Il 14/04/2016 13:43, Giovanni Porcari ha scritto:

Adesso mi faccio uccidere

http://www.apple.com/it/swift/
Invece mi sembra interessante, soprattutto se come dice Carlos anche 
Android lo utilizzerà.
Ma da quello che ho capito si può sviluppare solo per dispositivi apple! 
Corretto?


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


Re: [Python] OT: Imparare un altro linguaggio

2016-04-14 Per discussione Matteo Perini



Il 14/04/2016 12:32, Marco Beri ha scritto:


Fosse per lavoro ti direi di imparare il C che non fa mai male o, 
ancora meglio, Go.


Ma se fosse per diletto io mi butterei su "something completely 
different" tipo Elixir.

Wow
Grazie a tutti per i consigli
Credo che darò un occhiata ad elixir e scala per curiosità ma poi 
punterò a C.


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


[Python] OT: Imparare un altro linguaggio

2016-04-14 Per discussione Matteo Perini

Ciao,
mi trovo nella situazione di avere un po' di tempo libero.
Sono un ingegnere, non un programmatore o informatico, che ha usato 
python per qualche progetto sia lavorativo che ludico.
Mi piace la programmazione e mi piacerebbe cominciare a conoscere anche 
un altro linguaggio.
Non ho scopi particolari in mente ma io pensavo di avventurarmi verso il 
C o C++.

Mi piacerebbe sentire cosa ne pensate voi!
Capisco che senza uno scopo ben preciso sia un po' difficile dare 
consigli ma forse potete aiutarmi comunque a fare una scelta un po' più 
mirata grazie alla vostra esperienza personale.


Ogni consiglio/suggerimento è ben accetto.

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


Re: [Python] Arduino

2015-06-12 Per discussione Matteo Perini
Anche udoo... Adesso sta uscendo la versione card_size con sensori già
integrati
Il 12/giu/2015 08:52, Luca Botti lucabott...@yahoo.it ha scritto:

 Suggerisco Intel Edison con la board arduino -  in pratica un x86 in
 miniatura (flash ram inclusa, è un atom) con sopra un adattatore per
 poter montare i sensori arduino.

 Ovviamente sopra ci gira un linux, e tra gli ambienti di sviluppo c'è
 python senza giri strani - è proprio python su x86. Ti connetti via ssh,
 lanci python, importi la libreria (che ha come parametri cose del tipo
 usal la gpio #) e fai tutti i test che ti pare.





 On 06/11/2015 10:11 PM, Enrico Bianchi wrote:
  Oggi il mio capo mi ha chiesto di programmare una piattaforma IoT per
  scopi non meglio dettagliati (per ora si tratterebbe di fare una demo
  che prende i dati da un sensore di temperatura e mostrarli a video).
  Subito ci e` balenato alla mente Arduino, che per questo genere di
  cose e` perfetto. Ora, la mia domanda e`: esiste un modo per
  sviluppare in Python su Arduino? Oppure mi devo buttare su
  alternative? E in questo caso, quali (mi viene in mente raspberry, ma
  e` oversized)?
 
  Enrico
  ___
  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] Python 2? Python3?

2013-05-17 Per discussione Matteo Perini



Tu, sostanzialmente, sei d'accordo?


x Forse.



L'aver risposto al sondaggio vi da diritto di partecipare 
all'estrazione di una meravigliosa anguilla delle valli di Comacchio 
che vi verrà recapitata direttamente sulla vostra casella, in formato 
.zip.
Mm... sono stato alla sagra dell'anguilla a comacchio quella 
virtuale è ugualmente buona??

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


Re: [Python] gtk e drawing area

2013-05-02 Per discussione Matteo Perini


Ciao a tutti,
dopo un po' di latitanza ho ripreso in mano la situazione e mi sono 
dedicato un po' al problema in oggetto.


Il 16/04/2013 13:59, Pietro Battiston ha scritto:

Scusa la domanda forse stupidissima, ma hai considerato l'idea di
gestire il video con Gstreamer invece che ricostruirti tutto da una
DrawingArea?


Premetto che non sono un esperto...
Ho dato una occhiata a gstreamer ma non penso di poterlo adattare alle 
mie esigenze perchè non riesco (e non so se è possibile) a catturare 
direttamente il flusso video in quanto la camera è di tipo firewire.
Attualmente utilizzo un piccolo programmino in c che mi redirige sullo 
stdout un frame. Con subrocess intercetto lo stdout ecreo l'immagine da 
visualizzare nella drawing area (sento i vostri insulti a distanza ;) 
... è un accrocchio lo so ma non sono riuscito a fare di meglio).


Se avete consigli sono tutto orecchie.



Sempre se ho capito il tuo problema, la soluzione a quanto sopra
dovrebbe risolvere anche questo problema (sì, presumibilmente stai
generando una tonnellata di eventi inutili).


Sicuramente... ma non so come liberarmi di questi eventi o come sfoltirli.
Scusate se insisto con questo thread ma sono un po' bloccato.

Grazie
Ciao
Matteo

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


[Python] dipendenze tra finestre gtk

2013-04-08 Per discussione Matteo Perini

Ciao a tutti,
ho un piccolo problema.
In una gui con gtk, ad un certo punto
ho un ciclo while all'interno del quale ho bisogno di chiedere dei dati 
all'utente.

Una cosa di questo tipo:

while running:
x=self.ask_data()
if x!=0:
lista.append()
else:
running=False

per inserire i dati non mi è venuto in mente altro che creare una 
piccola finestra con una textbox e un bottone per confermare.


la finestra è costruita così:

def ask_data(self):
win=
self.textbox=
btn=...
def confirm(widget,self):
d=self.textbox.get_text()
return d
y=btn.connect('clicked',confirm,self)
win.show_all()
gtk.main()
return y

Il problema si ha quando, una volta immesso il dato, si da la conferma 
con il bottone (btn). Il flusso del programma si interrompe o meglio non 
torna al ciclo while.
Qualcuno ha qualche suggerimento su come risolvere questa situazione?? 
ho provato anche altri modi rispetto a quello esposto ma non trovo 
soluzione.

Grazie in anticipo
Matteo Perini
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] dipendenze tra finestre gtk

2013-04-08 Per discussione Matteo Perini

Il 08/04/2013 16:32, Giuseppe Amato ha scritto:
Premettendo che non ho tanta esperienza con gtk, credo dovresti 
chiudere il loop creato in ask_data con un gtk.main_quit() nella 
funzione confirm.



Premetto che anch'io non ho tanta esperienza ;)
Grazie mille va già molto meglio... adesso cercherò di passare i 
parametri in modo corretto e poi dovrei esserci.

Velocissimi e gentilissimi come sempre.
Ciao
Matteo

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


[Python] Gtk-gtk-Pygtk confusione

2013-04-02 Per discussione Matteo Perini

Ciao a tutti,
mi ritrovo con un po' di confusione riguardo alle gtk.
Se ho capito bene,

import Gtk   (utilizza le gtk3) (sono le gtk+???)
import gtk   (utilizza le gtk2)

import pygtk (non ne ho capito l'ultilità)

Sto cominciando a sviluppare una piccola gui su debian-gnome3 cosa mi 
conviene utilizzare... ho cominciato con import gtk.
Al momento non ho grossi problemi ma temo di aver imboccato la strada 
sbagliata... mi conveniva cominciare direttamente con le Gtk??


Scusate della confusione, ogni delucidazione è ben accetta.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Gtk-gtk-Pygtk confusione

2013-04-02 Per discussione Matteo Perini

Il 02/04/2013 09:35, Gian Mario Tagliaretti ha scritto:

2013/4/2 Matteo Perini perini.mat...@gmail.com:

Ciao a tutti,

ciao Matteo


mi ritrovo con un po' di confusione riguardo alle gtk.
Se ho capito bene,

import Gtk   (utilizza le gtk3) (sono le gtk+???)

E' corretto, per le GTK+ 3 è utilizzata l'introspection invece degli
static bindings usati fino a poco tempo fa, puoi leggere qui un
introduzione: http://learngtk.org/what-is-introspection.html



Grazie delle risposte chiarificatrici...
appena ho un secondo leggerò il link e poi ritornerò (temo) con alcune 
domande.

Ciao
Matteo

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


Re: [Python] Python: Corso Introduttivo

2013-03-28 Per discussione Matteo Perini



GB: Buongiorno Matteo.
   Non è che penseresti di registrarlo e metterlo OnLine da qualche 
parte?


GB


+1

Lo seguirei volentieri ma sono troppo lontano.

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


[Python] problema aggiornamento interfaccia

2013-03-05 Per discussione Matteo Perini

Ciao a tutti,
Vi disturbo per chiedervi una delucidazione sulla gestione dei 
MessageDialog.


Ho una piccola applicazione che in taluni casi deve segnalare degli errori.
Ho creato la funzione error1 come sotto; questa viene richiamata durante 
l'esecuzione del codice quando avviene un errore.


Il problema consiste nel fatto che il messaggio compare a video in modo 
incompleto ovvero viene visualizzata la finestrella ma senza la scritta 
Attenzione! e senza i pulsanti.
Se faccio tutto da linea di comando non ho nessun problema, il tutto 
viene visualizzato correttamente.

Qualcuno ha qualche suggerimento in merito... magari a voi è già successo.
Ho buttato un po di tempo per cercare on-line ma non ho trovato molto 
solo qualcosa su gtk.main_iteration() ma non sembra funzionare allo scopo.


Ecco la funzione:

def error1(self,widget):
md = gtk.MessageDialog(None,
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR,
gtk.BUTTONS_OK, Attenzione!)
resp=md.run()
if resp==gtk.RESPONSE_OK or resp==gtk.RESPONSE_DELETE_EVENT:
try:
widget.set_active(True)
except:
print 'cannot do'
md.destroy()

Grazie
Ciao
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Organizzare un progetto

2012-12-12 Per discussione Matteo Perini

Ciao a tutti,
eccomi ad annoiarvi di nuovo con le mie richieste.
Non ho mai fatto informatica seramente, ne a scuola ne all'università.
Oramai è un po' che programmo anche per lavoro ma sento sempre più il 
bisogno di creare progetti ordinati, leggibili e suddivisi in piccole parti.
Questo probabilmente perchè col crescere dei progetti il codice si 
complica e (almeno nel mio caso) tende a diventare monolitico.
Volevo chiedervi se ci sono delle buone regole  da rispettare o 
qualche linea guida da seguire per mantenere il codice pulito e leggibile.
Pensavo che l'esperienza mi avrebbe aiutato a crearmi un certo modus 
operandi ma non sono molto soddisfatto delle mie creazioni.

Accetto qualsiasi critica e/o consiglio.

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


[Python] lanciare programma senza far comparire la shell

2012-11-09 Per discussione Matteo Perini

Ciao a tutti,
vorrei lanciare un programma senza che mi si apra in contemporanea una 
shell.

Come posso fare?

Ho trovato qualcosa per windows (pythonw.exe C:\path\tuo_script.py) ma 
io sono su ubuntu con python 2.7.

Grazie
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] lanciare programma senza far comparire la shell

2012-11-09 Per discussione Matteo Perini


A differenza di Windows, su Linux dovrebbe avvenire naturalmente. 
Casomai la shell viene aperta dal sistema che usi per lanciarlo. Come 
lanci il programma?




Grazie della risposta...
All'avvio del pc faccio partire un comando:

gnome-terminal -e python /home/matteo/Scrivania/prova.py 
--working-directory=/home/matteo/Scrivania/


o, se per caso va in crash, ho un lanciatore sul desktop con la stessa 
dicitura.



Il file prova.py mi lancia il programma vero e proprio con il codice:

#!/usr/bin/env python
import subprocess
subprocess.call(['python','programm.pyc'])

Immagino che a questo punto stiate ridendo... mi rendo conto da solo 
dell'accrocchio che ho messo in piedi ed è per questo che vi chiedo aiuto.

Come posso lanciare un programma .py o .pyc in modo efficiente e comodo.

Ciao e grazie
MAtteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] creare un lanciatore per 'lanciare' un programma

2012-10-04 Per discussione Matteo Perini

Ciao a tutti,
In ubuntu 12.04 ho creato un lanciatore per far partire un programmino.
L'ho creato con il seguente comando:
gnome-desktop-item-edit ~/Scrivania/ --create-new
Ho inserito il nome, l'icona e il comando:

python /home/matteo/Scrivania/test.py

Dovrebbe partire un interfaccia di test (e da terminale con lo stesso 
comando lo fa).


Non capisco cosa sbaglio qualcuno sa aiutarmi?
Grazie
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Parsing e aggiunta a file txt

2012-09-28 Per discussione Matteo Perini

Ciao a tutti,
ho un file txt con questa struttura:

[main]
eta=[-,16,23,26]
[-]
P1=-
[16]
P1='andrea'
[23]
P1='gianni'
[26]
P1='paolo'
P2='roberto'

poi, con il seguente codice vado a leggerlo sezione per sezione.

config = ConfigParser.RawConfigParser()
config.read(filename)
self.eta=list(config.get('main', 'eta').lstrip('[').rstrip(']').split(','))
self.boys=[]
for d in self.eta:
num=1
self.boy=[]
while config.has_option('%s' % d, 'P%d' % num):
self.boy.append(config.get('%s' % d, 'P%d' % num))
num += 1
self.boys.append(self.boy)

dove self.eta e self.boys vanno a popolare due combo con le quali riesco 
a selezionare i ragazzi scremando in base all'età.


Volevo aggiungere la possibilità di aggiungere un ragazzo ad una sezione 
del file ma sto trovando parecchia difficoltà.
Qualcuno conosce un modo per aggiungere voci alle sezioni in un file con 
la struttura sopra?

Ho fatto qualche prova con ConfigParser ma non ho ottenuto risultati.
La difficoltà sta che devo aggiungerlo al file, non mi basta aggiungerlo 
alla combo (lo stesso file verrà riutilizzato).

Grazie mille.
Ciao
Matteo

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


Re: [Python] Parsing e aggiunta a file txt

2012-09-28 Per discussione Matteo Perini




In sequenza:

http://docs.python.org/library/configparser.html#ConfigParser.RawConfigParser.set

http://docs.python.org/library/configparser.html#ConfigParser.RawConfigParser.write

Ciao.
Marco.



Grazie.
Avevo visto la documentazione
Chiedo scusa per la domanda banale ma mi stavo incartando sulla parte di 
salvataggio (che adesso ho trovato negli esempi.

'''

with  open('example.cfg',  'wb')  as  configfile:
config.write(configfile)
'''

Ciao e Grazie
Matteo


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


[Python] cambiare nome di variabile in un ciclo

2012-09-10 Per discussione Matteo Perini

ciao a tutti.
Vorrei chiedervi una mano per risolvere un problema a cui non ho trovato 
soluzione.


Come posso fare ad assegnare un nome di variabile diverso per ogni 
iterazione in un ciclo (for per esempio).


Mi spiego meglio...
Avrei bisogno di fare una cosa del genere:

for i in range(20,100):
self.label_(i).set.text('Ciao')

^
 |

Al posto di questa i vorrei mettere il numero corrispondente.
E' possibile?

La funzione lambda potrebbe aiutarmi in questo caso???
Ho guardato qualche esempio ma non sono riuscito a risolvere

Grazie
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] cambiare nome di variabile in un ciclo

2012-09-10 Per discussione Matteo Perini
Grazie a tutti delle risposte.
Ho risolto usando setattr.
Scusate ma rispondo da cellulare e non riesco ad allegare ciò che ho fatto
Ciao
Matteo
Il giorno 10/set/2012 11.26, Giacomo Alzetta giacomo.alze...@gmail.com
ha scritto:

 La cosa migliore è usare una lista di label. E quindi accedere alla label
 i con lista_label[i].setText
 Altrimenti devi accedervi tramite il __dict__. Tipo
 self.__dict__[label_%d % i].setText
 Il giorno 10/set/2012 09:27, Matteo Perini perini.mat...@gmail.com ha
 scritto:

 ciao a tutti.
 Vorrei chiedervi una mano per risolvere un problema a cui non ho trovato
 soluzione.

 Come posso fare ad assegnare un nome di variabile diverso per ogni
 iterazione in un ciclo (for per esempio).

 Mi spiego meglio...
 Avrei bisogno di fare una cosa del genere:

 for i in range(20,100):
 self.label_(i).set.text('Ciao'**)

 ^
  |

 Al posto di questa i vorrei mettere il numero corrispondente.
 E' possibile?

 La funzione lambda potrebbe aiutarmi in questo caso???
 Ho guardato qualche esempio ma non sono riuscito a risolvere

 Grazie
 Matteo P
 __**_
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/**mailman/listinfo/pythonhttp://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


[Python] indicatori in gtk (glade)

2012-09-03 Per discussione Matteo Perini

Ciao a tutti,
vorrei inserire in un interfaccia grafica gtk costruita in glade dei 
(non so come si chiamano in gergo) led di stato.
Vorrei, ad esempio che di fianco ad una lista di variabili booleane 
comparisse un dischetto verde se a True e spento se false.

Non trovo il widget adatto...
mi sono venuti in mente altri modi (potrei cambiare direttamente il 
colore della label oppure inserire delle immagini che rappresentano il 
led) ma mi sembrano piuttosto macchinosi.
Qualcuno può darmi qualche consiglio su cosa è meglio utilizzare per 
ottenere il risultato voluto?


Grazie a tutti
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] controllare risposta tcp/ip

2012-08-22 Per discussione Matteo Perini

Grazie a tutti delle risposte.
Provo a sondare un po le alternative e poi mi rifarò sentire sicuramente 
per dei consigli.

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


Re: [Python] controllare risposta tcp/ip

2012-08-22 Per discussione Matteo Perini

Ciao,
rieccomi.
Sto risolvendo abbastanza bene con un codice tipo questo (semplifico un 
po' per brevità):


s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((192.168.1.100,5001))
s.send('comando')

r=
i=0
while True:
resp = s.recv(1)
r=r+str(resp)
if r[-10:]==/endtag\r\n:
break

Sembra funzionare!
Grazie ancora a tutti (disponibilissimi anche in questo agosto torrido)
PS: c'è un modo di fare il print dei caratteri di escape (tipo \r\n)?
Vorrei riuscire a fare una cosa del genere:
print ciao\n
ciao\n

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


Re: [Python] controllare risposta tcp/ip

2012-08-22 Per discussione Matteo Perini



Credo:

  print repr(ciao\n)

In generale repr funziona su tutti gli oggetti (e altri tipi), non 
solo le stringhe.
Sugli oggetti funziona solo se hai definito __repr__ (vedi la 
documentazione per approfondimenti).
A me viene molto comoda per il debug e per i test di caratterizzazione 
quando uso la libreria mock di voidspace.



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


Re: [Python] controllare risposta tcp/ip

2012-08-22 Per discussione Matteo Perini

Il 22/08/2012 15:19, Marco De Paoli ha scritto:



Il giorno 22 agosto 2012 15:07, Matteo Perini perini.mat...@gmail.com 
mailto:perini.mat...@gmail.com 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


Si ci avevo pensato.
Però preferisco la lentezza rispetto all'errore.
In realtà devo trasferire un file xml (sempre lo stesso al cui interno 
cambiano i valori delle variabili) da un dispositivo esterno, al pc.



I caratteri sono circa 1000.

ma anche se uso
resp = s.recv(2)

(adesso so che i 2 sono byte)

molte volte resp appare troncato in modo random
e quindi non riesco a farne il parsing per leggere le variabili.

Ho provato a fare il print con print repr(resp)
ma il buffer non contiene caratteri non voluti.

Lo scambio di dati avviene in base all'attività dell'utente ma in media 
2/3 volte al minuto quindi i tempi per me non sono un problema.
Comunque ho fatto due test e il tempo impiegato è circa 1,15 centesimi 
di secondo per 2500 caratteri.


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


Ciao e grazie
Matteo



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


Re: [Python] controllare risposta tcp/ip

2012-08-22 Per discussione Matteo Perini



if r[-10:]==/endtag\r\n:
break


Non mi convince molto il fatto che smetti di ricevere quando ricevi 
/endtag\r\n
Se non dico stupidate (e potrei) stai usando una informazione a 
livello di applicazione (application layer) per controllare una cosa 
che é a livello di trasporto. La cosa mi puzza. Cosa succede quando il 
client ti manda solo fino a /endtag, senza \r?


Mi piacerebbe consigliarti il modo giusto ma sulla documentazione non 
l'ho visto. Se funzionasse come dico io dovrebbe andare bene usare 
questo if al posto del tuo (ma é una mia supposizione):


   if resp = '':
   break

Si anch'io non ho trovato molto sulla documentazione.
La tua soluzione mi piace molto... e i tempi calano molto (meno di 2 
millesimi di secondo).

Avevo visto qualcosa del genere in un esempio trovato on-line.
Devo fare delle prove un po' più rigorose per essere sicuro di poterlo 
usare con sicurezza.

Grazie mille
Ciao
Matteo

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


[Python] controllare risposta tcp/ip

2012-08-21 Per discussione Matteo Perini

Ciao a tutti,
sapete dirmi come fare a controllare la risposta ottenuta durante una 
comunicazione client-server?


Cerco di spiegare meglio il mio problema.
ho del codice simile a questo:

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((192.168.1.102,5001))
s.send('comando')
resp = s.recv(1024)


dove 1024 dovrebbe essere il numero di caratteri letti. giusto?

Quando invio il comando dovrei ottenere una risposta dal server e 
solitamente è così.
Il problema è che la risposta resp che ottengo, in qualche caso, appare 
troncata.


La risposta deve essere una struttura xml tipo questa:
server
  var1TRUE/var1
  var2TRUE/var2
  var3FALSE/var3
  var4TRUE/var4
  var5FALSE/var5
  var655.5/var6
/server

Se la struttura non arriva completa non posso fare il parsing dell'xml.

Come posso controllare che la struttura arrivi completa?
Devo controllare le righe iniziale e finale?
Devo svuotare in qualche modo il buffer prima di leggere (non dovrebbe 
essere pieno!)?

Leggo troppi caratteri?

E' un problema che si verifica solo ogni tanto e non riesco a trovarne 
una causa.

Il server è windows il client monta linux.

Grazie a chiunque mi indichi qualche possibile strategia per evitare 
questo fastidioso problema.

Ciao
Buon caldo
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] comportamento dei message dialog gtk

2012-08-16 Per discussione Matteo Perini
Ciao a tutti,
non riesco a capire bene come funzionano i message dialog.

ad esempio:

md = gtk.MessageDialog(self,
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO,
gtk.BUTTONS_CLOSE, Download in corso.. attendere)
md.run()
md.destroy()

In questo modo il messaggio compare al momento voluto ma ho dei
problemi con il flusso del programma.
Cerco di spiegarmi meglio

- Se faccio partire il download (è solo un esempio) prima del
messaggio, quest'ultimo comparirà solo una volta già completato il
download.
- Se eseguo il download dopo la visualizzazione di md, non comincerà
fino a quando non verrà schiacciato il pulsante close... e comunque md
rimande visibile fino al completamento del download.

Non riesco a capire quando viene eseguito il comando md.destroy() e
soprattutto perchè non viene eseguito nel punto del codice in cui
viene immesso.

md deve essere lanciato in qualche modo particolare?
c'è un modo per non interrompere il flusso del programma se, ad
esempio, l'utente non fa click su close?

Spero in qualche dritta.
Grazie
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] passare da una finestra all'altra (GUI)

2012-08-03 Per discussione Matteo Perini




Come faccio ad ottenere lo stesso comportamento di prima?

Grazie
Matteo P


Alla fine ho risolto così:
self.xxx=Win_main().win
gtk.Widget.set_visible(self.xxx,True)
self.win.set_visible(False)

Quindi nascondo solamente la secondaria senza chiuderla. pace.

Avrei un altra domanda inerente a questo topic.

La mia applicazione ha una interfaccia principale dalla quale richiamo 
alcune secondarie.

Vi chiedo un consiglio su come è meglio strutturare il codice.
Ad es: creo una classe distinta per ogni schermata (se si come faccio a 
passare dati da una class all'altra?)
oppure: creo una classe unica e richiamo le varie schermate tramite 
delle def?

altro?
Grazie
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] passare da una finestra all'altra (GUI)

2012-08-02 Per discussione Matteo Perini

Ciao a tutti:
Rieccomi con un nuovo quesito.

La mia applicazione ha una finestra principale dalla quale (fino ad 
oggi) richiamavo altre finestre (che per semplicità avevo inglobato 
direttamente nella classe principale). Le interfacce sono disegnate con 
glade in gtk.

Ecco un esempio di cosa fa il codice quando clicco su un bottone.

def on_btn_zero_clicked(self,widget,data=None):
def turnback(self2):
gtk.Widget.set_sensitive(self.btn_test,True)
self.w.destroy()
self.win.set_visible(True)
b=gtk.Builder()
b.add_from_file('zero.glade')
self.w = b.get_object(window1)
self.w.show_all()
self.back.connect('clicked',turnback)
gtk.main()

Così non ho nessun problema... quando viene schiacciato il bottone la 
finestra principale viene nascosta, appare la secondaria e quando 
clicco sul bottone back la finestra viene chiusa e resa nuovamente 
visibile la finestra principale.


Ora l'applicazione si sta complicando e volevo mettere almeno alcune 
finestre in classi separate dalla principale (ha senso vero?).
Il problema che mi blocca è che dalla finestra principale riesco a 
richiamare la secondaria con:


self.inc=Window()   ##Window è la classe della finestra secondaria
self.win.set_visible(False)  ##nascondo la finestra principale
self.inc.main() ## faccio partire la finestra secondaria

ma quando voglio tornare alla principale non riesco a far riapparire la 
finestra.

Se chiudo (con destroy) la finestra secondaria si chiude tutto il programma.
Se prima di fare il destroy della secondaria faccio partire la 
principale, la secondaria rimane aperta.


self.xxx=Win_main().win  ##richiamo l'oggetto finestra principale
self.xxx.set_visible(True)  ## la rendo visibile
self.win.destroy()   ##chiudo la secondaria   (non chiude)

Come faccio ad ottenere lo stesso comportamento di prima?
Qualche idea???
Se non sono stato chiaro ditemelo che cercherò di spiegarmi meglio.
Grazie
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] eseguire file o processo separato.

2012-07-22 Per discussione Matteo Perini

ciao a tutti
la situazione è questa:
Mando in esecuzione il file task1 che riporto.

import subprocess
import time
import os
for i in range(110):
print i
if i==10:
os.system('touch .lock')
time.sleep(0.1)
subprocess.Popen('./task2.py')
if i==90:
os.system('rm .lock')
time.sleep(0.1)

Con subprocess (non sono riuscito con nient'altro se avete 
suggerimenti sono tutt'orecchi) riesco a lanciare il secondo script in 
parallelo al primo ma non mi sembra una cosa molto elegante soprattutto 
perchè vado a controllare la fine del secondo script cancellando un file 
(.lock).


il secondo script (task2.py) è questo:

#!/usr/bin/python
import time
a=True
d=open('data.txt','w')
x=1
while a:
try:
open('.lock')
print x
d.write(%i\n%(x))
x+=1
time.sleep(0.05)
except:
a=False
d.close()

Vorrei imparare e non riesco a trovare altre soluzioni...
Forse ho migliorato un po' la situazione usando i thread ma non vorrei 
creare pasticci.

Voi cosa ne pensate? come posso migliorare?
Il tutto dovrà essere integrato dentro la classe dell'interfaccia (gtk)
Questo il codice della prova con thread.

from threading import Thread
import time
import os
class task2(Thread):
def __init__ (self):
Thread.__init__(self)
def run(self):
print run
subprocess.Popen(./task2.py)
for i in range(110):
print i
if i==10:
os.system('touch .lock')
t2=task2()
t2.run()
if i==50:
os.system('rm .lock')

Rimane sempre il problema del file (.lock) per chiudere il subprocess.


Qualsiasi consiglio è gradito.
Ciao
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] gerarchia classe

2012-07-19 Per discussione Matteo Perini

Ciao a tutti.
Ho qualche problema a capire come si struttura la gerarchia in una classe.
Riporto un pezzo di codice per spiegarmi meglio.

class Window:

def __init__(self):
builder = gtk.Builder()
builder.add_from_file(Gui.glade)
self.win = builder.get_object(WinMain)
self.win.connect(destroy, self.exit)
self.button=builder.get_object('button')
self.button.connect('clicked',self.do)
self.i=234
def do(self,widget):
def esempio(self):
return ciao
print ok
for i in range(10):
  print esempio

così non ho problemi ma come faccio a richiamare all'interno della 
def esempio self.i  


ad esempio

class Window:

def __init__(self):
builder = gtk.Builder()
builder.add_from_file(Gui.glade)
self.win = builder.get_object(WinMain)
self.win.connect(destroy, self.exit)
self.button=builder.get_object('button')
self.button.connect('clicked',self.do)
self.i=234
def do(self,widget):
def esempio(self):
return self.i  modifica
print ok
for i in range(10):
  print esempio

c'è un modo per dire che self non è riferita alla def do?
Scusate ma non ho capito bene il comportamento di self quando le def 
sono annidate.


Per adesso per far andare il codice sopra ho fatto così:

class Window:

def __init__(self):
builder = gtk.Builder()
builder.add_from_file(Gui.glade)
self.win = builder.get_object(WinMain)
self.win.connect(destroy, self.exit)
self.button=builder.get_object('button')
self.button.connect('clicked',self.do)
self.i=234

def esempio(self):
return self.i
def do(self,widget):
print ok
for i in range(10):
  print self.esempio

ma non volevo lasciare la def esempio all'esterno di def do.
Cme posso fare?
Grazie a tutti quelli che hanno letto fino a qui per la pazienza.
Ciao
Matteo

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


Re: [Python] gerarchia classe

2012-07-19 Per discussione Matteo Perini


Chiama l'argomento di esempio() in un altro modo: this o self2. Il 
fatto che si chiami self è solo una convenzione, non c'è nessuna 
feature, e quello che succede è che il self locale oscura quello 
non-locale, che non hai modo banale di raggiungere.


 def do(self, widget):
 def esempio(this):
 return self.i


Grazie mille...
Soluzione semplice e intuitiva (quando la si sa ;-) )
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] problema reverse sulle liste

2012-06-13 Per discussione Matteo Perini

Ciao a tutti,
Mio ritrovo con questo strano(?) problema.
a=['a','b','c']
type(a)
type 'list'
b=a.reverse()
print b
None
type(b)
type 'NoneType'

Come mai non mi fa il reverse??
ho provato su due pc differenti (uno linux e uno win) e su entrambi non 
funziona.

Sul libro imparare python di Lutz l'esempio è lo stesso.
Ho guardato anche l'help ma... tutto mi dice che dovrebbe andare.
Scusate per la banalità di questa richiesta ma volevo il perchè di 
questo comportamento.

A voi funziona?
Python version 2.7.3
Grazie
Ciao
Matteo P



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


Re: [Python] problema reverse sulle liste

2012-06-13 Per discussione Matteo Perini

Il 13/06/2012 10:39, stefano bossi ha scritto:

ciao!
il metodo reverse non ritorna una nuova lista ma lavora sulla lista su 
cui è chiamato.


a = range(3)
a.reverse()
a

[2,1,0]

(mi sono sempre chiesto anche io perchè le liste in python non fossero 
più funzionali.)


stefano

Grazie a tutti...
Scusate!
Mi sono proprio perso in un bicchier d'acqua.
Strano che non si possa fare una assegnazione ad un altra variabile.
Per avere sia la lista originale che quella invertita devo quindi 
crearmi prima una copia e poi fare il revers della copia.

Mi sembra poco intuitivo.
Comunque grazie ancora delle risposte in real-time.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] messaggi di errore con le gtk

2012-06-08 Per discussione Matteo Perini

Il 06/06/2012 15:31, Matteo Perini ha scritto:


Credo che il tutto sia dovuto al fatto che l'errore, se c'è, si 
manifesta immediatamente al lancio del programma (e quindi questo non 
arrivi a completarsi).




Ho risolto cambiando l'ordine in cui venivano eseguite delle parti codice.
Grazie comunque.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] visualizzare immagine su schermo separato

2012-06-08 Per discussione Matteo Perini

Ciao a tutti.
Rieccomi con una nuova richiesta ;-)

Come da oggetto avrei bisogno di visualizzare alcune immagini 
(fullscreen e senza bordi) in sequenza su un secondo monitor.
Attualmente riesco nel mio intento solo su linux richiamando un altro 
software in un ciclo:


subprocess.Popen(['xloadimage','-display',':0.1','-fullscreen','nomefile.png'])

e non ho nessun problema.

Come posso far andare le cose anche su windows??
Qualcuno potrebbe indicarmi qualche libreria python che supporti il 
doppio monitor?

Ho cercato on-line e ho trovato
-wxpython
-tkinter
-pygame
-pyglet
-PIL
ma non ho trovato riferimenti per quanto riguarda il separate screen

In alternativa potrei richiamare qualcosa tipo xloadimage però per 
windows (non ho trovato nulla di simile per adesso; qualche idea?)
Sarei anche disposto a scrivermi qualche riga in altri linguaggi ma 
vorrei essere sicuro che il tempo impiegato dia i frutti sperati.

Qualche consiglio?
Grazie
Matteo P

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


Re: [Python] visualizzare immagine su schermo separato

2012-06-08 Per discussione Matteo Perini

Il 08/06/2012 09:03, Roberto De Ioris ha scritto:

Ho avuto lo stesso problema con pygame, e alla fine sono passato a pyglet
che ha il concetto di Screen:

http://pyglet.org/doc/api/pyglet.window.Display-class.html#get_screens

una volta ottenuta la lista degli Screen puoi mappare una finestra
direttamente su quello che ti interessa.



Grazie grazie.
Provo!
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] visualizzare immagine su schermo separato

2012-06-08 Per discussione Matteo Perini

Il 08/06/2012 09:03, Roberto De Ioris ha scritto:
Ho avuto lo stesso problema con pygame, e alla fine sono passato a 
pyglet che ha il concetto di Screen: 
http://pyglet.org/doc/api/pyglet.window.Display-class.html#get_screens 
una volta ottenuta la lista degli Screen puoi mappare una finestra 
direttamente su quello che ti interessa. 

Ciao,
sto provando ad usare sia pyglet che gtk.
con pyglet sembra che il tutto funzioni ma sul secondo  schermo 
l'immagine non viene visualizzata.

Questo è il codice di prova che ho scritto:

import pyglet
platform = pyglet.window.get_platform()
displ = platform.get_display(':0.1')
sc=displ.get_screens()
window = 
pyglet.window.Window(screen=sc[0],display=displ,width=1024,height=768)

pic = pyglet.image.load('imm1.png')
c = pyglet.sprite.Sprite(pic, x=0, y=0)
@window.event
def on_draw():
c.draw()

pyglet.app.run()

La window si crea correttamente sullo schermo giusto e nella posizione 
giusta ma l'immagine (come detto) non viene visualizzata.

Sullo schermo principale tutto funziona correttamente.
Sembra come se dovessi dire al metodo draw() dove disegnare ma nella 
documentazione non ho trovato nulla al riguardo.
Visto che hai già avuto esperienza in merito potresti darmi una dritta 
su cosa sbaglio?

Grazie mille
Matteo P

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


[Python] messaggi di errore con le gtk

2012-06-06 Per discussione Matteo Perini

Ciao a tutti,
Ho un piccolo problema con delle finestre di errore.
Ho costruito una piccola interfaccia per visualizzare il flusso video di 
una videocamera... e fin qui tutto bene.
Vorrei migliorare il codice prevedendo alcuni errori che possono 
capitare all'utente.
Nel caso specifico vorrei fare in modo che se la videocamera non è 
collegata mi si apra una message dialog di errore.
Funziona tutto come dovrebbe a parte il fatto che sia l'interfaccia che 
il messaggio di errore non vengono renderizzati correttamente (sembrano 
vuoti).
Credo che il tutto sia dovuto al fatto che l'errore, se c'è, si 
manifesta immediatamente al lancio del programma (e quindi questo non 
arrivi a completarsi).


Può essere un ragionamento sensato o sto farneticando?
La funzione richiamata in fase di avvio è la seguente:

def error1(self, widget, data=None):
md = gtk.MessageDialog(None,
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR,
gtk.BUTTONS_CLOSE, Attenzione!\nCamera non collegata!)
md.run()
md.destroy()

If camera:
  comandi vari
else:
self.error1(self,widget)

Come posso fare a dare il tempo necessario all'interfaccia di crearsi?

Grazie per qualunque dritta arrivi
Ciao
Matteo



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


Re: [Python] leggere lo standard output di un programma esterno

2012-06-01 Per discussione Matteo Perini

Il 01/06/2012 10:12, Giovanni Marco Dall'Olio ha scritto:


Io non sono molto esperto di programmazione di sistema, pero mi 
vengono in mente un paio di  modi per risolvere il problema:


  * usare un .lock file, ovvero fare in modo che la applicazione crei 
un un file temporaneo quando si avvia e che lo distrugga quando 
termina. Per esempio, firefox usa (o usava) questo sistema.
  * su un sistema unix, lanciare subprocess.check_output(ps aux) e 
verificare se l'applicazione è in esecuzione
  * forse si puó usare anche un try-except, peró potrebbe essere 
difficile distinguere se la videocamera non risponde perché è occupata 
o se invece non risponde perché ci sono altri problemi, e.g. non è 
collegata.


Probabilmente esistono soluzioni piú eleganti che permettono di 
definire code di jobs ed eseguire il comando quando la videocamera si 
libera, peró non ti saprei consigliare una libreria particolare.



Grazie della risposta.
Penso proverò con un file di lock però temo che avrò qualche problema a 
far aspettare la chiamate del processo fino a quando .lock non viene 
distrutto.

Questo pomeriggio ci provo.
Grazie mille.
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] leggere lo standard output di un programma esterno

2012-06-01 Per discussione Matteo Perini

Il 01/06/2012 10:34, Walter Valenti ha scritto:



   * usare un .lock file, ovvero fare in modo che la applicazione crei un
un file temporaneo quando si avvia e che lo distrugga quando termina.
Per esempio, firefox usa (o usava) questo sistema.

Es:
import fcntl
fk=open(lock_path,w)
try:
 fcntl.flock(fk,fcntl.LOCK_EX + fcntl.LOCK_NB)  ## lock non bloccante
 ### FAI QUELLO CHE DEVI !!
except:
 ### ESCI ###

Dove lock_path è in path assoluto del file che usi come lock.


Grazie della risposta.
non conoscevo fcntl
Ok ma come ho risposto a Giovanni non vorrei uscire se il lock è 
attivo ma mettere in coda la chiamata al comando in attesa che il lock 
venga distrutto.

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


Re: [Python] leggere lo standard output di un programma esterno

2012-06-01 Per discussione Matteo Perini

Il 01/06/2012 12:34, Nicola Larosa ha scritto:

Matteo Perini wrote:

da ingegnere mi mancano le basi della programmazione (sigh)

Eh? Forse ti riferivi a qualche tipo di ingegnere in particolare?

Mah... io sono ing. meccanico e l'unico esame di programmazione che 
c'era nel mio corso di studi era su Visual Basic.

Valutate voi.
Il mio modesto parere è che non sia stato particolarmente utile.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] come chiudere in modo corretto le Window pygtk

2012-05-28 Per discussione Matteo Perini

Il 26/05/2012 16:01, Gian Mario Tagliaretti ha scritto:

2012/5/25 Matteo Periniperini.mat...@gmail.com:

ciao Matteo,


- hai scritto la GUI a metà con glade e a metà scrivendo il codice a
mano, il mantenimento diventa infernale

Concordo ma secondo te mi conviene creare le varie finestre con glade
(tutte) o usare solo gtk (però la gui potrebbe complicarsi a breve).

Io farei tutte le finestre con Glade nascoste di default (w.hide()) e
non definirti i segnali nel codice ma solo le callback, metti il nome
della callback che userai nei controlli in Glade.


Ciao a tutti.
Anche grazie ai vostri consigli ho risolto...
Il tutto funziona bene sia se scritto completamente in pygtk (senza 
usare glade), sia completamente in glade.

Ho fatto varie prove e il codice misto non piace proprio a python.
Grazie
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] come chiudere in modo corretto le Window pygtk

2012-05-28 Per discussione Matteo Perini

Il 28/05/2012 11:46, Alessandro Dentella ha scritto:


Non è così, il codice misto non ha alcun problema.  Mi spiace che nella
settimana passata non ho avuto tempo di risponderti, PyGtk accetta
tranquillamente di creare delle interfacce con glade e di aggiungere a
quelle direttamente usando le classi PyGtk, lo faccio normalmente e non ho
alcuna contrindicazione.

Il tuo problema mi pare fosse quello di distruggere le finestre e poi di
volerle chiamare, una volta usato hide() e show() lo hai risolto.


sandro
*:-)

Ciao Sandro,
Grazie per la risposta e il chiarimento.

Molto probabilmente il tutto dipende da me, che come programmatore sono 
piuttosto scarso, però ho fatto migliaia di prove e non sono riuscito 
in  nessun modo a chiudere le finestre e poi a riaprirle...
Dalle ultime due mail però ho notato che voi mi parlate di hide() e 
show() mentre io usavo destroy(); inoltre io provavo a riaprire la 
finestra richiamando la funzione che la descriveva (es: def win1(self):) 
e non con show().
Scusate per le questioni forse banali ma l'inesperienza mi sta facendo 
perdere un sacco di tempo e il vostro aiuto me ne fa risparmiare molto 
;-).

Ciao
Grazie
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] come chiudere in modo corretto le Window pygtk

2012-05-25 Per discussione Matteo Perini



Ciao lista,

ciao Matteo,


Ciao e grazie per avermi dedicato del tempo


Ci sono diverse cose che non vanno negli esempi che hai allegato,
sinceramente ho guardato di fretta ma le prime cose da sistemare sono:

- usa gtk.Buider invece dell'obsoleto (da molto) libglade


Fatto!
Non sapevo che libglade fosse obsoleto... è la prima gui che costruisco 
e ho trovato un po' di esempi on-line...

Ne è uscito un collage...


- perchè hai definito dei tuoi segnali che poi non usi? In linea
generale definire dei nuovi segnali non è una buona idea, tutti i
controlli hanno già i loro segnali, usa quelli.

Fatto!
Grazie per la dritta (pensavo che i segnali fossero l'unico modo per 
interfacciarsi con gade)

- non vedo il delete-event collegato ad un evento (il problema che hai
segnalato)

Vedi sotto...


- hai scritto la GUI a metà con glade e a metà scrivendo il codice a
mano, il mantenimento diventa infernale
Concordo ma secondo te mi conviene creare le varie finestre con glade 
(tutte) o usare solo gtk (però la gui potrebbe complicarsi a breve).


- global num urla vendetta

era solo una reminescenza di un test che avevo fatto... tolta!


ciao

Purtroppo però non ho ancora risolto...
Ho inserito i delete event come mi hai consigliato
ad esempio così:
self.main_calibration.connect('delete-event',  
close_calib,self.main_calibration)


def close_calib(window,event,finestra):
finestra.destroy()
return True

ma quando provo a riaprire la finestra con:
def on_btn_main_calib_clicked(self,widget):
self.main_calibration(self)

mi da il seguente errore:
Traceback (most recent call last):
  File GuiAndrea2.py, line 53, in on_btn_main_calib_clicked
self.main_calibration(self)
TypeError: 'gtk.Window' object is not callable

sembra quasi che non riesca a ri-caricare la finestra.
Qualche idea??
Nel frattempo proverò a creare anche le finestre secondarie con glade.
Grazie a tutti.
Ciao
Matteo


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


Re: [Python] come chiudere in modo corretto le Window pygtk

2012-05-24 Per discussione Matteo Perini




Forse questa può essere d'aiuto/ispirazione?

http://faq.pygtk.org/index.py?file=faq10.021.htpreq=show

Lorenzo


Ciao lista,
ho scritto alcuni esempi usando solo pygtk e le finestre si chiudono 
correttamente... (riesco a ri-aprirle!!).

Il problema però persiste sulla mia interfaccia.
L'unica cosa in cui si differenzia dalle prove che ho fatto è che 
importo l'interfaccia da un file glade che ho creato a parte.
Allego entrambi i file (non pretendo li guardiate. ma se proprio 
volete ;-))

Ciao
Matteo
import pygtk
import gtk
import gtk.glade
import sys
import subprocess

global num
class Window:


def __init__(self):
signals = {
'on_quit_button_clicked':self.on_quit_button_clicked,
'on_btn_take_picture_clicked':self.on_btn_take_picture_clicked,
'on_btn_take_object_clicked':self.on_btn_take_object_clicked,
'on_btn_stop_acquisition_clicked':self.on_btn_stop_acquisition_clicked,
'on_btn_main_calib_clicked':self.on_btn_main_calib_clicked,
'on_btn_reconstruction_clicked':self.on_btn_reconstruction_clicked
}
gladeFile = gtk.glade.XML(fname='Guiglade.glade')
gladeFile.signal_autoconnect(signals)
gw = gladeFile.get_widget
self.win = gw('WinMain')
self.win.connect(destroy, self.exit)
self.quit_button=gw('quit_button')
self.btn_take_picture=gw('btn_take_picture')
self.btn_take_object=gw('btn_take_object')
self.btn_stop_acquisition=gw('btn_stop_acquisition')
self.btn_main_calib=gw('btn_main_calib')
self.btn_reconstruction=gw('btn_reconstruction')
self.win.show_all()

def on_quit_button_clicked(self, widget):
gtk.main_quit()
return 0
def on_btn_take_picture_clicked(self,widget):
self.win_take_pictures(self)
def on_btn_take_object_clicked(self,widget):
self.win_take_object(self)
def on_btn_stop_acquisition_clicked(self,widget):
self.convert_e_resize_images(self)
def on_btn_main_calib_clicked(self,widget):
self.main_calibration(self)
def on_btn_reconstruction_clicked(self,widget):
self.main_reconstruction(self)

def main(self):
gtk.main()

def exit(self,widget):
gtk.main_quit()
sys.exit()
return 0
def close_take_pictures(self,widget):
self.win_take_pictures.destroy()
return 0

def win_take_pictures(self, widget,data=None):
def get_calib_image(self,entry,data=None):
self.num = entry.get_text()
subprocess.call(['./scan-firewire.py',self.num])

self.win_take_pictures = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.win_take_pictures.set_position(gtk.WIN_POS_CENTER)
self.win_take_pictures.set_title(Acquisisci le immagini per la calibrazione)
self.win_take_pictures.set_border_width(15)
self.win_take_pictures.connect(destroy,self.close_take_pictures)
hbox1 = gtk.HBox(True, 0)
hbox2 = gtk.HBox(True, 0)
vbox = gtk.VBox(True, 0)
self.entry1 = gtk.Entry()
self.entry1lab = gtk.Label(ciao)

num=self.entry1.get_text()
self.button1 = gtk.Button(Grab Image)
self.button1.connect(clicked,get_calib_image, self.entry1)
self.label1 = gtk.Label(Acquisizione numero:)

hbox1.pack_start(self.label1, True, True, 5)
hbox1.pack_start(self.entry1,True,True,5)

hbox2.pack_start(self.button1, True, True, 5)
vbox.pack_start(hbox1, True, False, 5)
vbox.pack_start(hbox2, True, False, 5)
self.win_take_pictures.add(vbox)
self.win_take_pictures.show_all()

def win_take_object(self, widget,data=None):
def get_obj_image(self,entry):
self.num = entry.get_text()
subprocess.call(['./scan-firewire-obj.py',self.num])

self.win_take_object = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.win_take_object.set_position(gtk.WIN_POS_CENTER)
self.win_take_object.set_title(Acquisisci le immagini per la calibrazione)

self.win_take_object.set_border_width(15)
hbox1 = gtk.HBox(True, 0)
hbox2 = gtk.HBox(True, 0)
vbox = gtk.VBox(True, 0)
self.entry1 = gtk.Entry()
self.entry1lab = gtk.Label(ciao)

num=self.entry1.get_text()
self.button1 = gtk.Button(Grab Image)
self.button1.connect(clicked,get_obj_image, self.entry1)
self.label1 = gtk.Label(Acquisizione oggetto numero:)


hbox1.pack_start(self.label1, True, True, 5)
hbox1.pack_start(self.entry1,True,True,5)

hbox2.pack_start(self.button1, True, True, 5)
vbox.pack_start(hbox1, True, False, 5)
vbox.pack_start(hbox2, True, False, 5)
self.win_take_object.add(vbox)
self.win_take_object.show_all()
#return self.num_grab

def convert_e_resize_images(self,widget,data=None):

[Python] come chiudere in modo corretto le Window pygtk

2012-05-23 Per discussione Matteo Perini

Ciao a tutti,
Scusate la domanda banale ma sto cercando da un po di risolvere il 
seguente problema ma non ne vengo a capo.


Ho una applicazione con una finestra principale che contiene dei 
semplici pulsanti.
La pressione dei pulsanti mi fa aprire (a seconda del caso) una nuova 
Window che mi da' la possibilità di inserire del testo.

Fino a qui tutto ok.
Quando però chiudo la Window  e successivamente provo a riaprirla per 
inserire dei nuovi dati ottengo:


File Gui.py, line 46, in on_btn_main_calib_clicked
self.main_calibration(self)
TypeError: 'gtk.Window' object is not callable

e quindi non riesco a riaprire la finestra

il codice della finestra in questione è:
def main_calibration(self,widget,data=None):
def calib1(self,entry):
self.num = entry.get_text()
print self.num

self.main_calibration = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.main_calibration.set_position(gtk.WIN_POS_CENTER)
self.main_calibration.set_title(Calibrazione)
self.main_calibration.set_border_width(15)
#self.main_calibration.connect(destroy, self.exit)
hbox1 = gtk.HBox(True, 0)
hbox2 = gtk.HBox(True, 0)
vbox = gtk.VBox(True, 0)
self.entry1 = gtk.Entry()
self.entry1lab = gtk.Label(ciao)
num=self.entry1.get_text()
self.button1 = gtk.Button(Calibra)
self.button1.connect(clicked,calib1, self.entry1)
self.label1 = gtk.Label(Numero di acquisizioni valide:)


hbox1.pack_start(self.label1, True, True, 5)
hbox1.pack_start(self.entry1,True,True,5)

hbox2.pack_start(self.button1, True, True, 5)
vbox.pack_start(hbox1, True, False, 5)
vbox.pack_start(hbox2, True, False, 5)
self.main_calibration.add(vbox)
self.main_calibration.show_all()
gtk.main()


Se avete avuto la pazienza di leggere fino a qui vi sarete accorti che 
c'è una linea commentata:


#self.main_calibration.connect(destroy, self.exit)

questa chiude sia la Window voluta che la finestra principale (cosa che 
non deve accadere).

Ogni suggerimento su come risolvere questo piccolo problema è ben accetto.
Grazie a tutti
Matteo P

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


Re: [Python] come chiudere in modo corretto le Window pygtk

2012-05-23 Per discussione Matteo Perini


Quando però chiudo la Window  e successivamente provo a riaprirla per 
inserire dei nuovi dati ottengo:


Forse questa può essere d'aiuto/ispirazione?

http://faq.pygtk.org/index.py?file=faq10.021.htpreq=show

Lorenzo


Ciao Lorenzo,
Grazie per la risposta.
Purtroppo non riesco a far funzionare l'esempio che mi hai postato.
Mi spiego meglio.
La Window figlia viene creata la prima volta a seguito di un click su 
un bottone e con l'esempio che hai postato tu sembrerebbe chiudersi 
correttamente. (anche con il click sulla x della finestra).
Il problema nasce quando cerco di riaprire la stessa finestra figlia 
il messaggio è sempre:


File Gui.py, line 48, in on_btn_main_calib_clicked
self.main_calibration(self)
TypeError: 'gtk.Window' object is not callable

Sembra quasi che ci sia un qualcosa che mi tiene occupato l'oggetto 
Window e non mi lascia ri-chiamarlo.

Qualche idea??
Ciao e Grazie
Matteo

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


Re: [Python] prime armi

2012-05-23 Per discussione Matteo Perini

Il 23/05/2012 16:38, chiara angelone ha scritto:

Ciao a tutti,
sono alle prime armi con Python.
Sto riscontrando il seguente problema:
dalla command line di Python non riesco ad eseguire il mio file prova.py.
e nemmeno dalle shell di IDLE.

Io eseguo questo comando:
python prova.py

L'errore è il seguente:
nameError: 'python' is not defined
però ad esempio mi funziona la seguente riga
exec (open ('prova.py').read())

ho provarto a inserire tutto il percorso del mio file prova.py in 
questo modo

python C:\python\prova.py
ma l'errore è
SyntaxError: invalid syntax


Qualcuno può darmi qualche suggerimento per favore?

Grazie, ciao
Chiara
p.s. Sono sotto Windows 


Guarda se questo può aiutarti
http://www.biocomp.unibo.it/piero/corso/note/node8.html
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] passare variabili tra funzioni (pygtk)

2012-05-11 Per discussione Matteo Perini

Ciao a tutti,

Ho costruito una semplice gui con pygtk e glade.
In una finestra ho una textbox e un buttton.
Quando premo il button vorrei venisse richiamata una funzione alla quale 
dovrebbe essere passato il numero inserito nella textbox.

nella funzione win_take_pictures della class Window ho:

La textbox:
self.entry1 = gtk.Entry()
self.num_grab=self.entry1.get_text()

Il button:
self.button1 = gtk.Button(Grab Image)
self.button1.connect(clicked, self.get_image)

Nella class Window ho anche la funzione che voglio richiamare col button:
def get_image(self,widget):
self.num_grab= Window.win_take_pictures
print self.num_grab
Vorrei (per adesso) che la funzione get_image mi stampasse a schermo il 
numero inserito nella textbox(self.num_grab).
Ho provato a passare il parametro richiamando qualcosa del tipo 
self.get_image(self.num_grab)

ma non sono riuscito.
Scusate la domanda forse banale ma non ne sto uscendo... e anche google 
non mi ha aiutato molto.

Ciao
Grazie
Matteo P
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] pygtk e keyboard shortcuts

2012-05-04 Per discussione Matteo Perini

Ciao a tutti,
Sto creando una semplice Gui ma mi sono imbattuto in un problema che non 
riesco a risolvere.
Vorrei attivare (rendere sensibile) un bottone che è insensibile di 
default quando premo una combinazione di tasti.

Ad esempio:
ctrlq  - attivazione del button1
ctrla  - attivazione del button2

Ho trovato qualcosa all'interno di un paio di progetti complessi che 
utilizzano una cosa del genere:


actionGroup = gtk.ActionGroup('azione')
actionGroup.add_action('Activate_btn1', None, None, 'Controlq',None, 
activate_btn_calib)


ma non riesco a capirne la sintassi.
Qualcuno di voi ha avuto esperienza in merito?
ho guardato anche la documentazione ufficiale [0]
dove ho trovato anche questa funzione:


 gtk.ActionGroup.set_sensitive


che però non sono riuscito a far funzionare.
Spero di non chiedere cose troppo banali ma solitamente uso python solo 
per il calcolo numerico e non riesco ad entrare nella logica di queste 
funzioni.

Grazie in anticipo
Matteo P

[0] http://developer.gnome.org/pygtk/2.24/class-gtkactiongroup.html
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Consigli per GUI

2012-04-07 Per discussione Matteo Perini

Il 07/04/2012 09:27, orciml ha scritto:

Il 06/04/2012 19.20, Matteo Boscolo ha scritto:
+1 per le pyqt, io ci faccio tutto .. da pythoncad a dei lavori con 
db fogli di calcolo ...

te le consiglio vivamente ..


pygtk

ciao Loris

Grazie a tutti delle risposte.
Mi sembra di capire che, tk a parte, sia pygtk che pyqt potrebbero 
soddisfare le mie esigenze.
Quindi proverò entrambe e poi sceglierò quello che mi sembra adeguarsi 
meglio a quello che devo fare.


Ultima domanda:
cit:

Esiste la suite Qt SDK che è molto versatile,e per quel che riguarda
la portabilità non dovresti incorrere in nessun futuro problema.


Per quanto riguarda la portabilità tra vari OS c'è differenza tra pyqt e 
pygtk? e se si quanta?
Vorrei riuscire ad utilizzare il sw almeno su Linux  e Windows (Mac 
opzionale).


Grazie ancora delle risposte e
Buona Pasqua a tutta la lista
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Re: R: Consigli per GUI

2012-04-07 Per discussione Matteo Perini

Il 07/04/2012 21:46, Pietro De Natale ha scritto:

Rinnovo la mia propensione verso pyQt , sia su Linux che su Windows funge
alla grande...

Mi sto informando un po' sulle varie possibilità e mi sembra di aver 
capito che per usare le qt in un software commerciale bisogna acquistare 
la licenza mentre con le gtk o le wx non c'è questo problema.

Qualcuno mi conferma questa cosa?

Ciao e grazie dei vari consigli che stanno arrivando :)

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


[Python] import Blender?

2012-01-07 Per discussione Matteo Perini

Ciao a tutti,
Avrei bisogno di interagire con Blender tramite degli script ma quando 
vado ad importare la libreria, ottengo:

import Blender
---
ImportError   Traceback (most recent call last)

/home/matteo/ipython console in module()

ImportError: No module named Blender

Ho capito che non trova il modulo ma non ho capito come installarlo?
Cercando un po' su internet mi sembra di capire che dovrebbe essere 
compreso nel pacchetto del programma (che naturalmente è installato).

Lavoro con linux (Ubuntu 64bit).
Ho letto (per quello che capisco) la doumentazione:
http://www.blender.org/documentation/248PythonDoc/
e riesco in qualche modo ad usare la libreria bpy che sembra essere 
sperimentale.


Io vorrei semplicemente costruire una mesh partendo da un file di testo 
o meglio un file di numpy(più efficiente), nel quale sono elencate le 
coordinate x,y,z, punto per punto.


ho trovato un esempio:

import Blender
from Blender import Scene, Mesh

filename='/home/xxx/test.txt'
data=[]
for line in open(filename):
line=line.rstrip(\n)
temp=line.split()
data.append((float(temp[0]),
float(temp[1]),
float(temp[2])))

me = Mesh.New('point cloud')
me.verts.extend(data)
Scene.GetCurrent().objects.new(me,pointcloudob)
Blender.Redraw()


ma non rieco a convertirlo usando solo la libreria bpy.





Sto sbagliando qualcosa??
La versione installata di Blender è la 2.58.0.
Grazie
Matteo

PS: c'è un modo per importare numpy nella console di Blender?

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


Re: [Python] Utilizzo completo della cpu

2011-11-18 Per discussione Matteo Perini



Non credo nel tuo caso. Il codice python in linea di massima non può
essere eseguito in multithread, nel senso che l'interprete può esegure un
solo opcode alla volta. Ma se questo opcode è lungo di suo, per esempio
legge da un file, o dalla rete, o fa qualcosa di complesso ma restando in
C, senza toccare pezzi di python, allora può rilasciare il GIL e
permettere ad altri thread di correre in parallelo. Di conseguenza, un
programma python può beneficiare di multithread solo quando è IO-bound, non
quando è CPU-bound, e il tempo di CPU è speso in codice Python.

Nota che - se ricordo bene - numpy rilascia il GIL per le operazioni
implementate in C, ovvero, se fai A + B dove A e B sono matrici 1 x
1, mentre le somma può permettere ad altro codice (python o meno) di
correre. Ma la funzione leastsq, anche se è scritta in C, valuta
continuamente la fp che, essendo scritta in Python, ha bisogno di aspettare
il GIL per essere eseguita.


Le cose si complicano
Ho capito (forse) il 50% di quello che hai scritto (per colpa mia 
naturalmente).
Quando mi rapporto con questa lista mi rendo conto di saperne veramente 
poco... ;)


Al di là della prestazione di Python coi thread, non credo che la leastsq
sia parallelizzabile: se non dico cappellate, l'algoritmo consiste in
valutare continuamente la funzione in un numero di punti e ogni valutazione
ha bisogno dei risultati precedenti, quindi non mi sembra un problema
adatto ad essere parallelizzato.
Penso invece che dopo una prima inizializzazione del calcolo il tutto si 
riconduca a dei calcoli matriciali ma è passato un po' di tempo dagli 
esami di calcolo numerico.

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


Re: [Python] Utilizzo completo della cpu

2011-11-18 Per discussione Matteo Perini


ho una funzione fp non lineare che deve essere ottimizzata...
fp = lambda v, x,y,
phi:(1+v[0]*phi+v[1]*x+v[2]*x*phi+v[3]*y+v[4]*y*phi+v[5]*x**2...
+v[6]*phi*x**2+v[7]*y**2+v[8]*phi*y**2+v[9]*x*y+v[10]*phi*x*y)/(v[11]+v[12]*phi...

+v[13]*x+v[14]*x*phi+v[15]*y+v[16]*y*phi+v[17]*x**2+v[18]*phi*x**2+v[19]*y**2...

+v[20]*phi*y**2+v[21]*x*y+v[22]*phi*x*y)



Prima che ti complichi la vita con una implementazione parallela, ti
consiglio di ottimizzare l'implementazione attuale.

In particolare, nella definizione di fp vedo *molti* termini che sono
calcolati ripetutamente, mentre possono essere pre-calcolati una sola volta.
Questo punto mi interessa molto e ci avevo già pensato ma non avevo 
trovato il modo di semplificare.


Ho la funzione fp  del tipo numeratore/denominatore dove numeratore e 
denominatore sono dei polinomi di secondo grado.


Proverò con il suggerimento di usare la def al posto di lambda (può 
aiutare per le prestazioni?)


Non mi viene in mente altro
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] domande array numpy

2011-11-17 Per discussione Matteo Perini

Ciao a tutti...
Piccoli problemi con gli array numpy.

Domanda 1:
come faccio a sapere l'indice di un elemento X?
es.
 a=np.array([1,2,3,4,3,2,1])
come faccio a sapere le posizioni in cui c'è l'elemento '2' ovvero 1 e 5?

Domanda 2:
come faccio a sapere il numero di occorrenze  di X in un array? (per le 
liste c'è count)

es.
a=np.array([1,2,3,4,3,2,1])
(tipo
a.count(2) - 2
a.conut(4) -1)

grazie a tutti.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] domande array numpy

2011-11-17 Per discussione Matteo Perini

Il 17/11/2011 12:36, Gianfranco Durin ha scritto:

Domanda 2:
come faccio a sapere il numero di occorrenze  di X in un array?
(per
le
liste c'è count)
es.
a=np.array([1,2,3,4,3,2,1])
(tipo
a.count(2) -  2
a.conut(4) -1)

len(positions)

Questa però è meglio:

sum(a==X)

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


[Python] Utilizzo completo della cpu

2011-11-17 Per discussione Matteo Perini

Ciao lista,
Vorrei sapere se è possibile utilizzare tutti i core della cpu per 
eseguire calcoli gravosi.
Ho guardato un po' in internet e  come risposta ho trovato il 
multithreading che ho già utilizzato un paio di volte.
Però non riesco a capire se è possibile applicarlo anche ad un unico 
comando.

Mi spiego meglio.

ho una funzione fp non lineare che deve essere ottimizzata...
fp = lambda v, x,y, 
phi:(1+v[0]*phi+v[1]*x+v[2]*x*phi+v[3]*y+v[4]*y*phi+v[5]*x**2...

+v[6]*phi*x**2+v[7]*y**2+v[8]*phi*y**2+v[9]*x*y+v[10]*phi*x*y)/(v[11]+v[12]*phi...
+v[13]*x+v[14]*x*phi+v[15]*y+v[16]*y*phi+v[17]*x**2+v[18]*phi*x**2+v[19]*y**2...
+v[20]*phi*y**2+v[21]*x*y+v[22]*phi*x*y)


imposto la funzione obiettivo
e = lambda v, x,y, phi, z: (fp(v,x,y,phi)-z)

e infine avvio il processo di ottimizzazzione ai minimi quadrati
v, success = leastsq(e, v0, args=(x,y,phi,z), maxfev=1)

Questo va avanti per minuti e usa un solo core.
C'è un modo per suddividere i calcoli di leastsq tra più core?
(spero di si)
Grazie a tutti dell'aiuto sempre pronto
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Utilizzo completo della cpu

2011-11-17 Per discussione Matteo Perini



Matteo,
oggi ti tempesto...

Io non so nulla di calcolo su più core, ma faccio molto i minimi quadrati.
Se ti interessa sto sviluppando un sistema semplice per fare tutto da riga di 
comando, lo trovi qui:

https://github.com/gdurin/pyFitting


Grazie, ho dato un occhiata veloce ma devo studiarmelo un po'
Non sono un informatico/programmatore di professione.
Se ho problemi chiedo!?!?  ;)



la cosa che ti potrebbe aiutare potrebbe essere utilizzare le derivate 
analitiche (il mio parametro -d), che diminuiscono sensibilmente il numero di 
passi da far fare alla routine. Oppure prendi spunto per farlo tu (ho usato 
sympy e numexpr per compilare e ottimizzare il calcolo)
Per ogni dettaglio puoi vedere qui in un talk che ho fatto di recente:
http://emma.inrim.it:8080/gdurin/talks/fit-the-elefant-on-the-use-of-least-square-methods-from-simple-cases-to-multiparameter-scaling-functions/

Certo, fittare con 22 parametri è un bel problema, ed è proprio fittare un 
elefante (che pare abbia bisogno di 'soli' 13 parametri).
Un problema noto è che spesso molti sistemi (le funzioni teoriche) sono 
'sloppy', cioé poco sensibili alle variazioni anche ampie dei parametri. Quindi 
il fit non si muove mai, soprattutto se hai le derivate (per il calcolo dello 
jacobiano) numeriche.

Inoltre di solito è un casino decidere i valori iniziali, soprattutto nel tuo 
caso (so che qualcuno usa degli algoritmi genetici per la stima dei valori 
iniziali, ma non ne so molto).
  

Solitamente inserisco i valori trovati dal tentativo precedente.
Questo aiuta un po'

Cose biologiche?

ciao
Gianfranco

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


Re: [Python] Utilizzo completo della cpu

2011-11-17 Per discussione Matteo Perini

Il 17/11/2011 18:44, Manlio Perillo ha scritto:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 17/11/2011 17:19, Matteo Perini ha scritto:

Ciao lista,
Vorrei sapere se è possibile utilizzare tutti i core della cpu per
eseguire calcoli gravosi.

Si.
Come è possibile usare anche tutte le cpu dei computer in una rete.

Il come è un altro discorso...


Ho guardato un po' in internet e  come risposta ho trovato il
multithreading che ho già utilizzato un paio di volte.

Il multithreading in Python non va bene, a meno di condizioni
particolari (cerca su Internet Python GIL).


Grazie del consiglio.




Però non riesco a capire se è possibile applicarlo anche ad un unico
comando.

Che intendi come comando?


Scusami ma non conosco la terminologia corretta
Io per comando intendevo leastsq(e, v0, args=(x,y,phi,z), maxfev=1)



Mi spiego meglio.

ho una funzione fp non lineare che deve essere ottimizzata...
fp = lambda v, x,y,
phi:(1+v[0]*phi+v[1]*x+v[2]*x*phi+v[3]*y+v[4]*y*phi+v[5]*x**2...
+v[6]*phi*x**2+v[7]*y**2+v[8]*phi*y**2+v[9]*x*y+v[10]*phi*x*y)/(v[11]+v[12]*phi...

+v[13]*x+v[14]*x*phi+v[15]*y+v[16]*y*phi+v[17]*x**2+v[18]*phi*x**2+v[19]*y**2...

+v[20]*phi*y**2+v[21]*x*y+v[22]*phi*x*y)


Scusa, ma perchè usi lambda?
Nel tuo caso rende il codice meno leggibile.
Fai un più semplice:

def fp(v, x, y, phi):
 ...


Le lambda dovrebbero essere usate *solo* se ti serve una funzione
anonima (ad esempio per passarla come argomento ad un altra funzione).


Ho trovato un paio di esempi on-line, nonche sul sito ufficiale che 
usavano sempre lambda per passare la funzione a leastsq

http://www.scipy.org/scipy_Example_List#head-4c436ae0085d9a56056425d11abff4ccdd3d3620

Quindi ho usato quella.

Se ho capito bene potrei usare:

def fp(v, x, y, phi):
return (1+v[0]*phi+v[1]*x+v[2]*x*phi+v[3]*y+v[4]*y*phi+v[5]*x**2... 
+v[6]*phi*x**2+v[7]*y**2+v[8]*phi*y**2+v[9]*x*y+v[10]*phi*x*y)/(v[11]+v[12]*phi... 
+v[13]*x+v[14]*x*phi+v[15]*y+v[16]*y*phi+v[17]*x**2+v[18]*phi*x**2+v[19]*y**2... 
+v[20]*phi*y**2+v[21]*x*y+v[22]*phi*x*y)



Giusto?

Devi parallelizzare l'algoritmo, e di solito non è banale.
In letteratura dovresti trovare algoritmi per l'ottimizzazione ai minimi
quadrati paralleli, magari trovi anche implementazioni già pronte.

Una volta che hai l'algoritmo, l'altro problema è l'implementazione
(anche questo non banalissimo).

Mmmm la vedo mooolto dura per le mie conoscenze.
Grazie dei consigli
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Utilizzo completo della cpu

2011-11-17 Per discussione Matteo Perini

Il 17/11/2011 18:44, Gian Mario Tagliaretti ha scritto:

2011/11/17 Matteo Periniperini.mat...@gmail.com:

Ciao lista,

ciao Matteo,


Vorrei sapere se è possibile utilizzare tutti i core della cpu per eseguire
calcoli gravosi.

Per usare tutti i core devi usare il modulo multiprocessing (incluso
nella libreria dalla 2.7), l'API è simile a quella del modulo
threading.

ciao

Molto interessante questa cosa... proverò a studiarmelo e a fare qualche 
prova.

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


Re: [Python] Installare librerie openGl su ubuntu

2011-11-08 Per discussione Matteo Perini

 locate baseplatform.py*
 find /usr/lib/ -name 'baseplatform.py*'
 find /usr/share/pyshared -name 'baseplatform.py*'

 intanto controlla che il file sia la' e se è un link che punti ad un file
 esistente


Il risultato dei comandi sopra è:

matteo@super:~$ sudo locate baseplatform.py*

matteo@super:~$ find /usr/lib/ -name 'baseplatform.py*'
/usr/lib/pymodules/python2.7/OpenGL/platform/baseplatform.pyc
/usr/lib/pymodules/python2.7/OpenGL/platform/baseplatform.py

matteo@super:~$ find /usr/share/pyshared -name 'baseplatform.py*'
/usr/share/pyshared/OpenGL/platform/baseplatform.py

locate   non restituisce niente.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Installare librerie openGl su ubuntu

2011-11-07 Per discussione Matteo Perini
Sono sulla 11.10 installata pulita (64 bit può influire).


 Il percorso che riporti è lo stesso mio e ho installato con il tuo stesso
 comando.

 Adesso vado al lavoro e provo sulla macchina che uso li.
 Grazie mille della risposta.
 Ciao
 Matteo



Aggiornamento:
Al lavoro funziona tutto.
La versione di ubuntu, di python e delle librerie è la stessa.
Cosa può essere?
Come posso risolvere?
Ho già provato a reinstallare python-opengl ma non è cambiato nulla.
Idee?
Ciao
Grazie
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Installare librerie openGl su ubuntu

2011-11-07 Per discussione Matteo Perini
Il giorno 07 novembre 2011 10:35, Marco Mariani bir...@gmail.com ha
scritto:

 2011/11/7 Matteo Perini perini.mat...@gmail.com

 Sono sulla 11.10 installata pulita (64 bit può influire).


 certo che puo'

 Al lavoro funziona tutto.
 La versione di ubuntu, di python e delle librerie è la stessa.


 32 o 64?



 Entrambe a 64 bit
Linux super 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:27:26 UTC 2011
x86_64 x86_64 x86_64 GNU/Linux
entrambe aggiornate  e con più o meno gli stessi pacchetti installati.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Installare librerie openGl su ubuntu

2011-11-06 Per discussione Matteo Perini

Ciao lista,
come da oggetto sto cercando di installare le librerie opengl su ubuntu 
11.10.
Penso di aver installato tutto correttamente ma quando vado ad importare 
i moduli ottengo un errore.


Se scrivo:
from OpenGL.GL import *
Ottengo:
---
ImportError   Traceback (most recent call last)

/home/matteo/ipython console in module()

/usr/lib/pymodules/python2.7/OpenGL/GL/__init__.py in module()
 2 from OpenGL.raw.GL import *
  3 from OpenGL.raw.GL.annotations import *
  4
  5 from OpenGL.GL.pointers import *
  6 from OpenGL.GL.glget import *

/usr/lib/pymodules/python2.7/OpenGL/raw/GL/__init__.py in module()
  4 Automatically generated by the generateraw script, do not edit!
  5 
 6 from OpenGL.raw.GL.constants import *
  7
  8 from ctypes import *

/usr/lib/pymodules/python2.7/OpenGL/raw/GL/constants.py in module()
  5
  6 from ctypes import *
 7 from OpenGL import platform, arrays
  8 from OpenGL.constant import Constant
  9 from OpenGL import constants as GLconstants

/usr/lib/pymodules/python2.7/OpenGL/platform/__init__.py in module()
 32 # install into the platform module's namespace now

 33 plugin.install(globals())
 34 return plugin
 35
--- 36 _load()

/usr/lib/pymodules/python2.7/OpenGL/platform/__init__.py in _load()
 25 key = (sys.platform,os.name)
 26 plugin  = PlatformPlugin.match( key )
--- 27 plugin_class = plugin.load()
 28 plugin.loaded = True
 29 # create instance of this platform implementation


/usr/lib/pymodules/python2.7/OpenGL/plugins.pyc in load(self)
 12 def load( self ):
 13 Attempt to load and return our entry point
--- 14 return importByName( self.import_path )
 15 @classmethod
 16 def match( cls, *args ):

/usr/lib/pymodules/python2.7/OpenGL/plugins.pyc in importByName(fullName)
 26 moduleName = name[:-1]
 27 className = name[-1]
--- 28 module = __import__( ..join(moduleName), {}, {}, moduleName)
 29 return getattr( module, className )
 30

/usr/lib/pymodules/python2.7/OpenGL/platform/glx.py in module()
  2 import ctypes, ctypes.util
 3 from OpenGL.platform import baseplatform, ctypesloader
  4
  5 assert hasattr( ctypes, 'RTLD_GLOBAL' ), Old ctypes without 
ability to load .so for global resolution: Get ctypes CVS branch_1_0, 
not CVS HEAD or released versions!

  6

ImportError: cannot import name baseplatform


Ho provato a controllare se nel percorso ci fossero i file e sembra 
tutto a posto.
Ho anche provato a reinstallare tutto e a cercare una soluzione su 
google ma non ho risolto...

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


Re: [Python] Installare librerie openGl su ubuntu

2011-11-06 Per discussione Matteo Perini

Il 06/11/2011 16:16, Matteo Perini ha scritto:

Ciao lista,
come da oggetto sto cercando di installare le librerie opengl su 
ubuntu 11.10.
Penso di aver installato tutto correttamente ma quando vado ad 
importare i moduli ottengo un errore.


Se scrivo:
from OpenGL.GL import *
Ottengo:
---
ImportError   Traceback (most recent call 
last)



Scusate ma mi sono dimenticato di dire che

from OpenGL import *

e

import OpenGL

funzionano.
Peccato che mi manchi il resto.
Ciao
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Soluzione di sistemi lineari con dati a 128 bit

2010-12-13 Per discussione Matteo Perini

Ciao a tutti,
ho qualche problema ad eseguire operazioni di calcolo matriciale con 
dati di tipo dtype=float128.

Sto usando scipy e numpy e linalg per risolvere dei sistemi di equazioni.
Per adesso mi basterebbe riuscire ad effettuare dei calcoli tipo:

m=np.matrix([[1,2],[2,2]],dtype=float128)
v=np.array([5,6],dtype=float128)
sol=np.linalg(m,v)

Ottengo un errore del tipo:
TypeError: array type float128 is unsupported in linalg

Volevo risolvere facendo alcune operazioni a mano ma per esempio anche 
il comando m.I non funziona e da lo stesso errore.


Qualcuno ha qualche idea di come risolvere il problema? sapete se ci 
sono librerie apposite?

Il calcolo è prettamente numerico però mi serve un enorme precisione!
Grazie dei consigli.
Ciao
Matteo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python