Non so perché ma il tuo problemami mi ha ricordato questo https://youtu.be/hJhZhLg3obk
l'autore parla di come ha costruito pgcli, una cli per fare query su postgres Il giorno mer 27 feb 2019 alle ore 13:13 Manlio Perillo < manlio.peri...@gmail.com> ha scritto: > On Wed, Feb 27, 2019 at 11:08 AM Gabriele Battaglia <iz4...@libero.it> > wrote: > > > > Gente, so che sono uno stress infinito con sta storia, me ne rendo conto > > e mi scuso. > > Le mie enormi lacune in programmazione unitamente alle mie esigenze > > particolari di utente disabile, mi rendono un po una spina nel fianco di > > questo gruppo: grazie per la vostra pazienza e per tutto il vostro aiuto > > e supporto. Per fortuna che il traffico qui non è tanto elevato. > > > > Ribadisco, ed è importante, che chiunque si deve sentire libero di > > rispondere solo quando e se ha tempo e voglia, non ho fretta alcuna. > > > > Io trovo le tue domande interessanti, proprio perchè sei novizio e > disabile. > > > Riepilogando. > > Io scrivo piccoli programmini privi di GUI, utili principalmente a me > > che usano testo in out e tastiera in input. Ho bisogno di un modulo che > > possa importare in tutti i miei scripts che agevoli l'input da tastiera > > facendo sostanzialmente 2 cose: > > 1. che non blocchi tutto mentre l'utente scrive e, 2. che non debba > > attendere la pressione di invio. > > Tutto deve funzionare sotto Windows e sotto Unix BSD e tutto deve andare > > in modalità terminale, quindi niente grafica, niente pygame o altre > > librerie che cambiano la modalità di visualizzazione della console. > > > > La miglior approssimazione di ciò che mi serve è questa: > > > > https://www.dropbox.com/s/rzd3wwrsmyx587p/key14.py?dl=0 > > > > Non hai problemi con il software di assistenza quando imposti la > modalità non canonica su Unix? > Inoltre un consiglio: per entrare ed uscire dalla modalità non > canonica, usa un context: > > https://docs.python.org/3/reference/datamodel.html#with-statement-context-managers > > Ti basta definire il metodo __enter__ che semplicemente restituisce > self, ed il metodo exit che resetta il terminale. > In questo modo puoi fare: > > with KBHit() as kb: > ... > > > Funziona bene sotto Unix, perciò guardate solo la parte che riguarda > > Windows che ha dei problemi: > > Ironicamente, su Windows è molto più facile fare quello che vuoi, > perchè non ha i problemi che ci sono su Unix. > I terminali su Unix sono un incubo, per non parlare dei problemi sei > vuoi impostare la modalità non bloccante su un file: > https://cr.yp.to/unix/nonblock.html. > > Per impostare la modalità non canonica: > https://docs.microsoft.com/en-us/windows/console/setconsolemode > > Per vedere se c'è input disponibile (ma non credo ti serva): > https://docs.microsoft.com/en-us/windows/console/peekconsoleinput > > Per leggere in Unicode: > https://docs.microsoft.com/en-us/windows/console/readconsole > > Per attendere la pressione di un tasto, con timeout (simile a select): > > https://docs.microsoft.com/en-us/windows/desktop/api/synchapi/nf-synchapi-waitforsingleobject > > > innanzitutto va a capo ogni volta che > > stampa un carattere, se imposto end="" in print(), non stampa più nulla > > finchè non premo invio e da ultimo crasha quando premo un carattere non > > alfanumerico, magari questo si sistema facilmente, non ho approfondito. > > > > Non sono sicuro di capire il primo problema. Perchè devi premere > [INVIO] per forzare print a scrivere sul terminale? > Riguardo il crash (tecnicamente non è un trash, ma una eccezione non > gestita), dovresti allegare il traceback completo. > > > [...] > > Ciao > Manlio Perillo > _______________________________________________ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- There is a crack, a crack in everything. That’s how the light gets in L. Cohen
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python