vinny74
Profilo di
Nome | vinny74 |
---|---|
Indirizzo email | vinny74man@gmail.com |
Avatar | |
Messaggi | 10 |
-
- 2018-10-21 11:29:47
- 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 ---
-
- 2017-11-08 12:41:45
- 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
-
- 2017-11-07 18:16:54
- Re: Client TCP con asyncio
- Forum >> Programmazione Python >> Web e Reti
- Nessuno riesce ad aiutarmi?
Grazie
-
- 2017-11-05 11:14:07
- 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()
-
- 2017-05-05 18:51:27
- Re: Classe con istanza non nulla
- Forum >> Principianti
- Daniele aka Palmux said @ 2017-05-05 18:36:56:vinny74 said @ 2017-05-05 17:31:59: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
-
- 2017-05-05 17:31:59
- 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 ---
-
- 2017-05-05 17:28:59
- 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?
-
- 2017-05-04 08:16:26
- 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
-
- 2016-11-01 22:18:26
- Re: Attributi di classe predefiniti e non mutabili
- Forum >> Programmazione Python >> Scripting
- vinny74 said @ 2016-11-01 12:11:16: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 ---
-
- 2016-11-01 12:11:16
- 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 ---