Profilo di vinny74

Nome vinny74
Indirizzo email vinny74man@gmail.com
AvatarAvatar utenti
Messaggi10
  • Distribuzione programma da pycharm
    Forum >> Programmazione Python >> IDE ed Editor
    Ciao a tutti vi spiego il mio problema, ho scritto un programma in python3.6.5 da pc windows con pycharm, e adesso vorrei fare un porting per udoo, tipo un eseguibile che praticamente installi tutto sulla udoo che si basa su raspberry, oltre il programma vero è proprio anche l'interprete e le librerie, poichè la board udoo quad ha come S.O. una distribuzione basata su ubuntu 14.04, non riesco ad installare python 3.6 ma si ferma a python 3.4.3, ma usando nel mio programma asyncio preferisco la 3.6.

    Quindi chiedevo se e come fare per creare una specie di eseguibile in modo da installare il tutto sulla UDOO.

    Grazie


    --- Ultima modifica di vinny74 in data 2018-10-21 11:30:30 ---

    --- Ultima modifica di vinny74 in data 2018-10-21 11:31:04 ---
  • Re: Client TCP con asyncio
    Forum >> Programmazione Python >> Web e Reti
    Daniele aka Palmux said @ 2017-11-07 19:04:22:
    Ciao caro, purtroppo io non so aiutarti nel caso specifico, ma ti posso suggerire di porre la stessa domanda anche sulla nostra mailing list.

    Cya

    ok ti ringrazio
  • Re: Client TCP con asyncio
    Forum >> Programmazione Python >> Web e Reti
    Nessuno riesce ad aiutarmi?



    Grazie
  • Client TCP con asyncio
    Forum >> Programmazione Python >> Web e Reti
    Ciao a tutti prendendo vari esempi dal web (diciamo pure copiando) sono riuscito a scrivere questo piccolo client TCP con asyncio, e che in caso di chiusura del server tenta la riconnessione, inoltre tramite una coroutine invia dei messaggi al server per il momento ad intervalli regolari in maniera autonoma, il mio problema è che se il server chiude la connessione non sempre ma spesso mi ritrovo col client che mi genera questo errore "Task was destroyed but it is pending!", ho letto qualcosa a riguardo ma non riesco a venirne a capo, vi posto il codice spero riusciate ad aiutarmi.



    Grazie




    import asyncio
    
    class EchoClientProtocol(asyncio.Protocol):
        def __init__(self, username, loop):
            self.transport = None
            self.username = username
            self.loop = loop
            self.queue = asyncio.Queue()
            self._ready = asyncio.Event()
            asyncio.async(self._send_messages())
    
        @asyncio.coroutine
        def _send_messages(self):
            """ Send messages to the server as they become available. """
            yield from self._ready.wait()
            print("Ready!")
            while self._ready.is_set():
                data = yield from self.queue.get()
                self.transport.write(data.encode('utf-8'))
                print('Message sent: {!r}'.format(data))
    
        @asyncio.coroutine
        def send_message(self, data):
            """ Feed a message to the sender coroutine. """
            yield from self.queue.put(data)        
    
        def connection_made(self, transport):
            self.transport = transport
            transport.write(self.username.encode('utf-8' ))
            print('Data sent: {!r}'.format(self.username))
            self._ready.set()
    
        def data_received(self, data):
            print('Data received: {!r}'.format(data.decode('utf-8')))
    
        def connection_lost(self, exc):
            print('The server closed the connection')
            #print('Stop the event loop')
            self._ready.clear()
    
        @asyncio.coroutine
        def feed_messages(self):
            """ An example function that sends the same message repeatedly. """
            message = 'test_1\n'
            while self._ready.is_set():
                yield from self.send_message(message)
                yield from asyncio.sleep(3.0)
    
    @asyncio.coroutine
    def tcp_client(message, loop, host, port):
        _, proto = yield from loop.create_connection(
            lambda: EchoClientProtocol(message, loop), host, port)
        yield from asyncio.sleep(1)
        yield from asyncio.async(proto.feed_messages())
    
    @asyncio.coroutine
    def tcp_reconnect(message, loop, host, port):
        while True:
            print('Connessione in corso')
            try:
                yield from tcp_client(message, loop, host, port)
            except ConnectionRefusedError:
                print('Connessione Rifiutata')
            except asyncio.TimeoutError:
                print('Timeout')
            except OSError:
                print('Connessione Fallita')
            else:
                print('Connessione chiusa')
            yield from asyncio.sleep(3.0)
    
    if __name__ == '__main__':
        try:
            host ='localhost'
            port = 8888
            username = 'client_1\n'
            loop = asyncio.get_event_loop()
            loop.run_until_complete(tcp_reconnect(username, loop, host, port))
        except KeyboardInterrupt:
            loop.close()

  • Re: Classe con istanza non nulla
    Forum >> Principianti
    Daniele aka Palmux said @ 2017-05-05 18:36:56:
    ma se io devo inserire dei valori al di fuori di uno schema ma da terminale, vorrei che al momento dell'istanza questa non venisse affatto creata se non rispetta la condizione.
    Qui non credo di seguirti, cosa vuoi dire? Non importa che la richiami da terminale, magari fammi un esempio concreto per farmi capire meglio dove trovi difficoltà, ed ovviamente tieni sempre sott'occhio la documentazione.

    Cya

    Nel senso che utilizzando l'idle di python io posso comunque inserire questi valori non essendo in un programma, d'altra parte è anche sicuro che una classe non la userò mai nell'idle altrimenti che me ne faccio, quindi non importa giustamente nei programmi metto la condizione prima di istanziare, Ok, però mi sarebbe piaciuto farlo in fase di instanza.




    Grazie
  • Re: Classe con istanza non nulla
    Forum >> Principianti
    No penso di non aver capito cosa intendi,o forse se si, tu intendi prima di istanziare cioè in questo modo
    
    if a==0 or a=255:
    
        test=MyClass(a)
    
    
    ma se io devo inserire dei valori al di fuori di uno schema ma da terminale, vorrei che al momento dell'istanza questa non venisse affatto creata se non rispetta la condizione.


    --- Ultima modifica di vinny74 in data 2017-05-05 17:36:15 ---

    --- Ultima modifica di vinny74 in data 2017-05-05 17:36:47 ---
  • Re: Classe con istanza non nulla
    Forum >> Principianti
    Daniele aka Palmux said @ 2017-05-05 12:27:02:
    Ciao caro, risolvi molto velocemente il problema mettendo il tuo if come condizione per istanziare o meno la classe.

    Cya

    Cioè prima della init devo valutare la condizione giusto?
  • Classe con istanza non nulla
    Forum >> Principianti
    Ciao a tutti per un piccolo progettino a livello hobbistico sto andando avanti con lo studio di python la versione che uso è la 3.4.3 ho scritto questa piccola classe giusto per esercitarmi



    class MyClass():
    
    	def __init__(self,a):
    
    		if a == 0 or a == 255:
    
    			self.a =a





    Quando vado a creare l'stanza della classe, se a corrisponde a 0 o 255 tutto ok, ma se invece non corrisponde viene creata comunque l'istanza, ma non ha valori per l'attributo a, io vorrei che in questi casi l'istanza non fosse creata affatto, è possibile?




    Grazie
  • Re: Attributi di classe predefiniti e non mutabili
    Forum >> Programmazione Python >> Scripting
    Ciao a tutti spero di essere nella sezione giusta, premetto che sono un neofita di python, sto studiando utilizzo python 3.4, sono arrivato alle classi e non sono riuscito a capire se è fattibile e se si come creare una classe con degli attributi precostituiti e che non sia possibile aggiungerne altri,
    snip
    Il mio scopo è quello di avere come attributi delle varie istanze solo "a e b" e che una chiamata del tipo
    test = MyClass(1,2)
    test.name='prova'
    mi dia un errore o non prenda affatto in carico l'attributo name.
    >>> from collections import namedtuple
    >>> MyClass = namedtuple('MyClass', 'a b')
    >>> test = MyClass(1, 2)
    >>> test
    MyClass(a=1, b=2)
    >>> test.name = 'prova'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'MyClass' object has no attribute 'name'
    https://docs.python.org/3/library/collections.html#collections.namedtuple

    Ciao,


    Grazie provo con questa e faccio sapere


    --- Ultima modifica di ㎝ in data 2016-11-01 20:39:11 ---
  • Attributi di classe predefiniti e non mutabili
    Forum >> Programmazione Python >> Scripting
    Ciao a tutti spero di essere nella sezione giusta, premetto che sono un neofita di python, sto studiando utilizzo python 3.4, sono arrivato alle classi e non sono riuscito a capire se è fattibile e se si come creare una classe con degli attributi precostituiti e che non sia possibile aggiungerne altri, cerco di spiegarmi meglio:
    class MyClass:
        def __init__(self,a,b):
            self.a = a
            self.b = b

    Il mio scopo è quello di avere come attributi delle varie istanze solo "a e b" e che una chiamata del tipo
    test = MyClass(1,2)

    test.name='prova'

    mi dia un errore o non prenda affatto in carico l'attributo name.
    Grazie



    --- Ultima modifica di vinny74 in data 2016-11-01 12:29:52 ---