[Python] IA, Match e case.
Sera. Voglio condividere con voi una cosa che ho scoperto su Python ed il mio entusiasmo per alcune cose che questa IA fa davvero bene. Chiacchierando con ChatGPT 4o, questa sera ho imparato qualcosa che non conoscevo sul mio linguaggio di programmazione preferito. Ammetto che non leggo quasi mai i what's new di Python e so di sbagliare. Ad ogni modo, non so cosa ne pensiate voi ma io trovo entusiasmante ChatGPT 4o, mi ha spalancato un mondo; probabilmente non sarà così per la maggior parte di quelli bravi, alle cui competenze è molto più difficile arrivare ma per me è una manna dal cielo. Non è il primo che provo, seguo la IA da quando i non addetti ai lavori, come il sottoscritto, hanno iniziato a sentirne parlare, cos'era? Gennaio 2023? Ho provato ovviamente Gemini, GPT3.5 e compagnia, tuttavia mi pare che la 4o abbia fatto un bel salto. Mi piacerebbe leggere qualche vostra riflessione, se ne avete voglia: intendo tenendosi stretti al rapporto fra IA e programmazione perchè con altre tematiche IA, finiremmo per non uscirne più. Beh, intanto ditemi, vi piace questa spiegazione? ChatGPT4o: L'istruzione `match` e `case` è una nuova funzionalità introdotta in Python 3.10, che implementa il concetto di "pattern matching". È simile all'istruzione `switch`/`case` presente in altri linguaggi di programmazione come C, C++ e Java, ma è più potente e flessibile. Pattern Matching con `match` e `case` Il pattern matching consente di confrontare una variabile con una serie di modelli (patterns) e di eseguire il codice corrispondente al primo modello che corrisponde. Ecco come funziona: Sintassi di Base python def example(value): match value: case 1: print("Value is 1") case 2: print("Value is 2") case 3: print("Value is 3") case _: print("Value is something else") Spiegazione del Codice 1. Dichiarazione `match`: • La variabile `value` viene confrontata con una serie di modelli all'interno del blocco `match`. 2. Dichiarazioni `case`: • Ogni `case` rappresenta un modello a cui `value` potrebbe corrispondere. • Se `value` corrisponde al modello specificato, viene eseguito il codice all'interno del blocco `case`. 3. Modello `_`: • Il modello `_` è un jolly che corrisponde a qualsiasi valore non gestito dagli altri `case`. • È simile all'istruzione `default` in altri linguaggi di programmazione. Esempi Avanzati Il pattern matching in Python non si limita ai semplici confronti di valori. Può anche essere utilizzato per confrontare strutture dati complesse come tuple, liste e dizionari. Confronto di Tuple python def example(value): match value: case (1, x): print(f"Tuple starts with 1, second element is {x}") case (2, y): print(f"Tuple starts with 2, second element is {y}") case _: print("Tuple does not match any pattern") Confronto di Liste python def example(value): match value: case [1, x]: print(f"List starts with 1, second element is {x}") case [2, y]: print(f"List starts with 2, second element is {y}") case _: print("List does not match any pattern") Confronto di Dizionari python def example(value): match value: case {"key1": x}: print(f"Dictionary contains key 'key1' with value {x}") case {"key2": y}: print(f"Dictionary contains key 'key2' with value {y}") case _: print("Dictionary does not match any pattern") Esempio Applicato alla Tua Richiesta Nel contesto del tuo progetto, puoi utilizzare `match` e `case` per filtrare le partite in base a diversi criteri: python def filter_games(games, criterion): filtered_games = [] for game in games: match criterion["criterion"]: case "white_player": if game.headers['White'] == criterion['value']: filtered_games.append(game) case "black_player": if game.headers['Black'] == criterion['value']: filtered_games.append(game) case "result": if game.headers['Result'] == criterion['value']: filtered_games.append(game) case _: raise ValueError("Unsupported criterion") return filtered_games In questo esempio, il pattern matching viene utilizzato per determinare quale criterio utilizzare per filtrare le partite. Conclusione Il pattern matching con `match` e `case` in Python 3.10 è una funzionalità potente e flessibile che consente di scrivere codice più leggibile e conciso per confrontare valori e strutture dati complessi. Se stai utilizzando una versione di Python pr
Re: [Python] Toglietemi un dubbio sugli scope delle variabili.
Il 28/05/2024 15:24, Daniele Zambelli ha scritto: Il giorno gio 23 mag 2024 alle ore 15:26 Gabriele Battaglia ha scritto: Ciao a tutti. Per favore, leggete questa affermazione e, per non rubarvi tempo prezioso, rispondetemi solo se è falsa e perchè. [...] Forse il problema nasce dalla considerazione data all'indentazione: non importa quanto è annidato un'istruzione, se non è all'interno dei una funzione fa parte dello scope globale. Forse questo script può chiarire: def assegna_pippo(valore): """Funzione che assegna un valore a pippo.""" pippo = valore # qui siamo nello scope della funzione assegna_pippo. print(f"nella funzione: {pippo=}") pippo = True print(f"prima del ciclo: {pippo=}") for i in range(3): if i == 1: pippo = False # non importa quanto è indentato, # ci troviamo sempre nello scope principale. print(f"nel ciclo: {i=}; {pippo=}") print(f"dopo il ciclo e prima della funzione: {pippo}") assegna_pippo(999) print(f"dopo la funzione: {pippo}") Ciao Daniele, perdona il ritardo con cui ti ringrazio. Penso di esserci finalmente arrivato, grazie a contributi come il tuo. Ti auguro una serena giornata ed un'estate splendida. A presto. Gabriele. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Toglietemi un dubbio sugli scope delle variabili.
Il giorno gio 23 mag 2024 alle ore 15:26 Gabriele Battaglia ha scritto: > > Ciao a tutti. > > Per favore, leggete questa affermazione e, per non rubarvi tempo > prezioso, rispondetemi solo se è falsa e perchè. > [...] > Forse il problema nasce dalla considerazione data all'indentazione: non importa quanto è annidato un'istruzione, se non è all'interno dei una funzione fa parte dello scope globale. Forse questo script può chiarire: def assegna_pippo(valore): """Funzione che assegna un valore a pippo.""" pippo = valore # qui siamo nello scope della funzione assegna_pippo. print(f"nella funzione: {pippo=}") pippo = True print(f"prima del ciclo: {pippo=}") for i in range(3): if i == 1: pippo = False # non importa quanto è indentato, # ci troviamo sempre nello scope principale. print(f"nel ciclo: {i=}; {pippo=}") print(f"dopo il ciclo e prima della funzione: {pippo}") assegna_pippo(999) print(f"dopo la funzione: {pippo}") Ciao. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Toglietemi un dubbio sugli scope delle variabili.
Il 23/05/24 12:04, Gabriele Battaglia ha scritto: Ciao a tutti. Per favore, leggete questa affermazione e, per non rubarvi tempo prezioso, rispondetemi solo se è falsa e perchè. Delle variabili e della loro visibilità all'interno di uno script python, io ho capito questo. All'inizio dello script, a indentazione 0 diciamo, dopo aver importato i moduli e dichiarato le costanti, io scrivo pippo=True Bene. Dovrei aver detto che pippo è vero e l'ho detto a livello più basso del codice. Ora, se io non dichiaro altri pippo all'interno di funzioni o moduli, l'unico pippo della vita mia, dovrebbe essere e rimanere, quello assegnato a True, all'inizio. Tipo, se 2000 righe dopo, e annidato all'interno di una selva di indentazioni, dentro un if al dodicesimo leivello di tab scrivo che if pluto == "12345": pippo=False Questo codice è dentro una funzione? Se è dentro una funzione, localmente crei una variabile pippo che sovrascrive l'altra ma uscito dalla funzione ritrovi l'originale. Mi pare se ne fosse discusso di recente. Se invece vuoi che questa pippo sia quella dell'inizio, devi usare global (o nonlocal ma con limiti) davanti oppure passarla come parametro. In lettura, invece, funziona che trova la pippo che stava in alto e usa quel valore. https://programnotes.altervista.org/ambiti-e-variabili-locali-e-globali/ Esempio chiarificatore: >>> x = 15 >>> def funzione_esempio(): ... x += 2 ... return x ... >>> print(funzione_esempio()) Traceback (most recent call last): File "", line 1, in File "", line 2, in funzione_esempio UnboundLocalError: cannot access local variable 'x' where it is not associated with a value MA: >>> x = 15 >>> def funzione_esempio(): ... x = 10 ... return x ... >>> print(funzione_esempio()) 10 >>> x 15 MA: >>> def funzione_esempio(): ... y = x ... y = y + 2 ... return y ... >>> print(funzione_esempio()) 17 https://www.programmareinpython.it/video-corso-python-base/12-variabili-globali-e-variabili-locali/ Quindi quando ridefinisci l'etichetta della variabile, come fai tu sopra, la crei localmente alla funzione ma uscito dalla funzione ritroverai la pippo iniziale. In python le variabili sono delle etichette collegate a qualcosa. Quando entri in una funzione, le etichette che vengono create localmente sono nuove e dentro quella funzione. Avendo lo stesso nome, ovviamente, ti sarà impossibile richiamare delle etichette all'esterno. Se provi a modificare le etichette esterne usando il loro stesso valore (x += 2), Python prima crea la nuova etichetta x, poi prova a leggerla ma non è ancora assegnata a nulla, e quindi da l'errore sopra. finito l'if, fatti eventuali return da mille funzioni, chiusi cicli while, loop vari, tutto quello che volete. Dopo 5000 righe di codice, tornato a livello di indentazione 0.. Se vado a vedere il mio pippo... Troverò sempre quello giusto? Cioè True se la condizione di pluto=="12345" non era vera, oppure False se lo era... ma la mia variabile pippo è sempre e solo quella. Chiedo tutto ciò perchè ho uno script che fa più o meno questo, in termini generici, tuttavia la variabile non la leggo correttamente e non capisco cosa mi sfugga, da anni, in questa maledetta scemenza dello scope che dovrebbe essere proprio una sciocchezza, eppure, evidentemente sono più rincoglionito di quanto mi piaccia credere. Grazie per il vostro aiuto. Gabry. _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Toglietemi un dubbio sugli scope delle variabili.
Ciao a tutti. Per favore, leggete questa affermazione e, per non rubarvi tempo prezioso, rispondetemi solo se è falsa e perchè. Delle variabili e della loro visibilità all'interno di uno script python, io ho capito questo. All'inizio dello script, a indentazione 0 diciamo, dopo aver importato i moduli e dichiarato le costanti, io scrivo pippo=True Bene. Dovrei aver detto che pippo è vero e l'ho detto a livello più basso del codice. Ora, se io non dichiaro altri pippo all'interno di funzioni o moduli, l'unico pippo della vita mia, dovrebbe essere e rimanere, quello assegnato a True, all'inizio. Tipo, se 2000 righe dopo, e annidato all'interno di una selva di indentazioni, dentro un if al dodicesimo leivello di tab scrivo che if pluto == "12345": pippo=False finito l'if, fatti eventuali return da mille funzioni, chiusi cicli while, loop vari, tutto quello che volete. Dopo 5000 righe di codice, tornato a livello di indentazione 0.. Se vado a vedere il mio pippo... Troverò sempre quello giusto? Cioè True se la condizione di pluto=="12345" non era vera, oppure False se lo era... ma la mia variabile pippo è sempre e solo quella. Chiedo tutto ciò perchè ho uno script che fa più o meno questo, in termini generici, tuttavia la variabile non la leggo correttamente e non capisco cosa mi sfugga, da anni, in questa maledetta scemenza dello scope che dovrebbe essere proprio una sciocchezza, eppure, evidentemente sono più rincoglionito di quanto mi piaccia credere. Grazie per il vostro aiuto. Gabry. -- Gabriele Battaglia (IZ4APU) --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from my Giant Desktop PC ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Aggiungere testo all'inizio di un file.
Il 18/05/2024 20:03, Marco Beri ha scritto: Mi sa proprio di sì, sai? Infatti ti conviene forse aprire un file temporaneo, scrivere il nuovo testo, aggiungere il testo del file originale, cancellarlo e rinominare il file temporaneo nel file originale. Ma solo se il testo è tanto. Ciao Marco, grazie mille! Buona domenica. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Aggiungere testo all'inizio di un file.
Mi sa proprio di sì, sai? Infatti ti conviene forse aprire un file temporaneo, scrivere il nuovo testo, aggiungere il testo del file originale, cancellarlo e rinominare il file temporaneo nel file originale. Ma solo se il testo è tanto. Ciao. Marco. On Sat, 18 May 2024, 19:30 Gabriele Battaglia, wrote: > Ciao. Ho passato "ta+" ad open per apprire un file di testo in modalità > append. Vorrei aggiungere il testo in cima, non in fondo. > > E' possibile o devo farlo io a mano caricando il contenuto in una > variabile, aggiungendo in cima ciò che voglio e poi salvando tutto nel > file? > > Grazie. > > -- > Gabriele Battaglia (IZ4APU) > --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . > Sent from my Giant Desktop PC > > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Aggiungere testo all'inizio di un file.
Ciao. Ho passato "ta+" ad open per apprire un file di testo in modalità append. Vorrei aggiungere il testo in cima, non in fondo. E' possibile o devo farlo io a mano caricando il contenuto in una variabile, aggiungendo in cima ciò che voglio e poi salvando tutto nel file? Grazie. -- Gabriele Battaglia (IZ4APU) --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from my Giant Desktop PC _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] comportamento def async
On Mon, 13 May 2024 at 22:19, Perini Matteo wrote: > vorrei leggere lo stato di un dispositivo ewelink (sonoff) tramite script ma > ricevo un comportamento che non capisco. > Se faccio uno script isolato […] > ottengo esattamente quello che voglio ovvero il print mi dice se il > dispositivo è on, off o offline. In questo script dove richiami `ask_status()`? > Come posso fare per forzare l'esecuzione di ask_status ogni volta che > richiamo la funzione check? In genere con le parentesi dopo il nome funzione async def check(update: Update, context: ContextTypes.DEFAULT_TYPE): await context.bot.send_message( chat_id=update.effective_chat.id, text=ask_status(the_client) ) Nota che dovresti restituire la stringa in `ask_status` piuttosto che stamparla su stdout @ewelink.login("Password", "em...@email.eu") async def ask_status(client: Client) -> str: device = client.get_device("1") try: return str(device.state.value) except DeviceOffline: return "Device is offline!" -- Andrea D'Amore ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] comportamento def async
Sicuro che il problema sia che ask_status non viene eseguita?Prova a mettere un print(datetime.now(UTC)) e vedi se e quante volte stampa la dataFederico On 13 May 2024, at 22:19, Perini Matteo wrote: Ciao, vorrei leggere lo stato di un dispositivo ewelink (sonoff) tramite script ma ricevo un comportamento che non capisco. Se faccio uno script isolato import ewelinkfrom ewelink import Client, DeviceOffline@ewelink.login('Password', 'em...@email.eu')async def ask_status(client: Client): device = client.get_device('1') try: print(device.state.value) except DeviceOffline: print("Device is offline!") ottengo esattamente quello che voglio ovvero il print mi dice se il dispositivo è on, off o offline. ho provato ad integrare la stessa funzione in uno script un po' più articolato per comunicare con un bot telegram. from telegram import Updatefrom telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler, MessageHandler, filtersfrom credentials import TOKENimport ewelinkfrom ewelink import Client, DeviceOffline @ewelink.login('Password', 'em...@email.eu')async def ask_status(client: Client): device = client.get_device('1') try: print(device.state.value) except DeviceOffline: print("Device is offline!") async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): await context.bot.send_message(chat_id=update.effective_chat.id, text="I'm a bot, please talk to me!") async def check(update: Update, context: ContextTypes.DEFAULT_TYPE): await context.bot.send_message(chat_id=update.effective_chat.id, text=ask_status) if __name__ == '__main__': application = ApplicationBuilder().token(TOKEN).build() start_handler = CommandHandler('start', start) check_handler = CommandHandler('check', check) application.add_handler(start_handler) application.add_handler(check_handler) application.run_polling() Il bot funziona (è un po' più complicato di così) ma quando chiamo "ask_status" mi restituisce sempre lo stato che aveva il dispositivo quando faccio partire il bot. Come posso fare per forzare l'esecuzione di ask_status ogni volta che richiamo la funzione check? Cosa mi sto perdendo? Grazie a chi mi può dare un suggerimento Matteo ___Python mailing listPython@lists.python.ithttps://lists.python.it/mailman/listinfo/python_______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] comportamento def async
Ciao, vorrei leggere lo stato di un dispositivo ewelink (sonoff) tramite script ma ricevo un comportamento che non capisco. Se faccio uno script isolato importewelink fromewelinkimportClient, DeviceOffline @ewelink.login('Password', 'em...@email.eu') asyncdefask_status(client: Client): device= client.get_device('1') try: print(device.state.value) exceptDeviceOffline: print("Device is offline!") ottengo esattamente quello che voglio ovvero il print mi dice se il dispositivo è on, off o offline. ho provato ad integrare la stessa funzione in uno script un po' più articolato per comunicare con un bot telegram. fromtelegramimportUpdate fromtelegram.extimportApplicationBuilder, ContextTypes, CommandHandler, MessageHandler, filters fromcredentialsimportTOKEN importewelink fromewelinkimportClient, DeviceOffline @ewelink.login('Password', 'em...@email.eu') asyncdefask_status(client: Client): device= client.get_device('1') try: print(device.state.value) exceptDeviceOffline: print("Device is offline!") asyncdefstart(update: Update, context: ContextTypes.DEFAULT_TYPE): awaitcontext.bot.send_message(chat_id=update.effective_chat.id, text="I'm a bot, please talk to me!") asyncdefcheck(update: Update, context: ContextTypes.DEFAULT_TYPE): awaitcontext.bot.send_message(chat_id=update.effective_chat.id, text=ask_status) if__name__== '__main__': application= ApplicationBuilder().token(TOKEN).build() start_handler= CommandHandler('start', start) check_handler= CommandHandler('check', check) application.add_handler(start_handler) application.add_handler(check_handler) application.run_polling() Il bot funziona (è un po' più complicato di così) ma quando chiamo "ask_status" mi restituisce sempre lo stato che aveva il dispositivo quando faccio partire il bot. Come posso fare per forzare l'esecuzione di ask_status ogni volta che richiamo la funzione check? Cosa mi sto perdendo? Grazie a chi mi può dare un suggerimento Matteo _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] CODICE ASCII
Marco Monti writes: > Con altri codici, invece, non funziona. ESEMPIO: ALT+187 da il simbolo* ╗* > con chr(187) dà ». Avete idea del perchè? chr(n) restituisce il carattere unicode con codice n (nel caso di n=187 è un "right-pointing double angle quotation mark", '»'), Quello che succede premendo ALT-187 (o qualche altra combinazione di tasti) dipende dalla configuraione della tastiera e non da python. Mauro ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] CODICE ASCII
Ciao. Non ha niente a che vedere con python, si tratta della mappatura della tastiera. Ivo Il giorno gio 28 mar 2024 alle ore 17:52 Marco Monti ha scritto: > Buonasera. > Vedo delle cose strane con i codici ASCII: non tutti i codici > corrispondono alle tabelle sia quando si inseriscono con ALT+codice e sia > quando si usa chr(codice) all'interno di un listato. > Ad esempio, il codice 123 è la graffa aperta { e viene sia con ALT+123 > sia con chr(123). Lo stesso vale per la @ che è 64 e così via per tanti > altri. > Con altri codici, invece, non funziona. ESEMPIO: ALT+187 da il simbolo* ╗* > con chr(187) dà ». Avete idea del perchè? > Grazie della collaborazione > Marco Monti > cell. 340 7200207 > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] CODICE ASCII
Buonasera. Vedo delle cose strane con i codici ASCII: non tutti i codici corrispondono alle tabelle sia quando si inseriscono con ALT+codice e sia quando si usa chr(codice) all'interno di un listato. Ad esempio, il codice 123 è la graffa aperta { e viene sia con ALT+123 sia con chr(123). Lo stesso vale per la @ che è 64 e così via per tanti altri. Con altri codici, invece, non funziona. ESEMPIO: ALT+187 da il simbolo* ╗* con chr(187) dà ». Avete idea del perchè? Grazie della collaborazione Marco Monti cell. 340 7200207 ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Risolto. Re: Qualcuno usa ipython come interprete?
Il giorno gio 14 mar 2024 alle ore 10:32 Gabriele Battaglia ha scritto: > > ...di nuovo, buongiorno a tutti ed a Carlo M in particolare. > > Ho risolto. Grande! > Mancava la libreria pickleshare che, chissà per quale strano motto del > destino, non era stata installata fra le molte dipendenze di ipython. > > Grazie. > Gabry. _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Qualcuno usa ipython come interprete?
Ciao Gabriele Il giorno gio 14 mar 2024 alle ore 08:23 Gabriele Battaglia ha scritto: > > Se sì, continuate a leggere please, altrimenti, tuffo doppio carpiato > nel cestino. Uso IPython 8.21.0 su Python 3.12.2 (su linux) > [...] > E' un problema mio? Qui si comporta come previsto ```py cm@heap:~ $ ipython Python 3.12.2 (main, Feb 11 2024, 21:08:54) [GCC 13.2.0] Type 'copyright', 'credits' or 'license' for more information IPython 8.21.0 -- An enhanced Interactive Python. Type '?' for help. >>> a=88 time: 2.99 ms (started: 2024-03-14 08:51:23 +01:00) >>> %store a Stored 'a' (int) time: 1.23 ms (started: 2024-03-14 08:51:32 +01:00) >>> %store Stored variables and their in-db values: a -> 88 time: 1.54 ms (started: 2024-03-14 08:51:38 +01:00) >>>^D cm@heap:~ $ ipython Python 3.12.2 (main, Feb 11 2024, 21:08:54) [GCC 13.2.0] Type 'copyright', 'credits' or 'license' for more information IPython 8.21.0 -- An enhanced Interactive Python. Type '?' for help. >>> a NameError: name 'a' is not defined time: 3.06 ms (started: 2024-03-14 08:52:09 +01:00) >>> %store Stored variables and their in-db values: a -> 88 time: 1.48 ms (started: 2024-03-14 08:52:32 +01:00) >>> %store -r time: 9.51 ms (started: 2024-03-14 08:52:42 +01:00) >>> a 88 time: 4.5 ms (started: 2024-03-14 08:52:45 +01:00) ``` Non saprei dirti cosa potrebbe essere successo nel tuo caso; se perdere il valore delle tue variabili persistenti non è un problema, potresti provare a cancellare i file contenuti nella subdirectory `db/autorestore` all'interno della configurzione di ipython. Nel mio caso, ```sh cm@heap:~ $ ls -lh ~/.ipython/profile_default/db/autorestore total 4.0K -rw-rw-r-- 1 cm cm 5 Mar 14 08:51 a ``` HTH, ㎝ -- THE -WARE LICENSE (Revision ㊷): wrote this . As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a in return. — Carlo _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Qualcuno usa ipython come interprete?
Se sì, continuate a leggere please, altrimenti, tuffo doppio carpiato nel cestino. Python 3.11.8, win11, ipython 8.22.2 Magic function Store: a=88 %store a sembra andare. Poi %store per vedere le variabili salvate: File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\IPython\extensions\storemagic.py:161 , in StoreMagics.store(self, parameter_s) 159 # run without arguments -> list variables & values 160 elif not args: --> 161 vars = db.keys('autorestore/*') 162 vars.sort() 163 if vars: AttributeError: 'PickleShareDB' object has no attribute 'keys' In [4]: E stessa cosa con tutti gli altri switcher che ho provato, -r -d eccetera. E' un problema mio? Grazie mille. Gabry. -- Gabriele Battaglia (IZ4APU) --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from my Giant Desktop PC _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ho un problema con pyinstaller.
scusa rettifico: pyinstaller mioscript.py --onefile --name mioscript.exe On Mon, Mar 4, 2024 at 5:54 PM Gabriele Sorci wrote: > il comando che dovresti lanciare è pyinstaller -F mioscript.py --onefile > --name mioscript.exe > > On Mon, Mar 4, 2024 at 1:32 PM wrote: > >> Ciao a tutti. >> >> Devo ottenere un file eseguibile da un mio progetto. Mi serve un file >> unico. >> >> Uso pyinstaller 6.4.0 che dovrebbe essere l’ultima stabile. Sono con >> Python 3.11.8, sotto win11. >> >> >> >> Nello mio script, in una delle prime righe importo una porzione di codice >> da un altro mio programma. >> >> >> >> Poi faccio. >> >> >> >> pyinstaller -F mioscript.py >> >> >> >> oppure --onefile, invece di -F. >> >> >> >> pyinstaller svolge il suo lavoro e in una 15 ina di secondi a fatto. >> >> Mi crea una cartella build con dentro una decina di file ed una dist che >> contiene una sottocartella col nome del progetto che a sua volta contiene >> l’exe. >> >> >> >> Se lo lancio dalla cartella che contiene anche il modulo che importa, >> nessun problema ma se sposto altrove l’eseguibile, mi dice che non trova il >> modulo e genera un errore. >> >> >> >> Cioè non viene prodotto lo standalone. >> >> >> >> Qualcuno ha qualche idea del perché ciò accada? >> >> >> >> Grazie mille. >> >> >> >> >> >> Gabriele Battaglia (Gabe / Gabry) - IZ4APU >> >> --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . >> >> Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) >> >> >> ___ >> Python mailing list >> Python@lists.python.it >> https://lists.python.it/mailman/listinfo/python >> > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ho un problema con pyinstaller.
il comando che dovresti lanciare è pyinstaller -F mioscript.py --onefile --name mioscript.exe On Mon, Mar 4, 2024 at 1:32 PM wrote: > Ciao a tutti. > > Devo ottenere un file eseguibile da un mio progetto. Mi serve un file > unico. > > Uso pyinstaller 6.4.0 che dovrebbe essere l’ultima stabile. Sono con > Python 3.11.8, sotto win11. > > > > Nello mio script, in una delle prime righe importo una porzione di codice > da un altro mio programma. > > > > Poi faccio. > > > > pyinstaller -F mioscript.py > > > > oppure --onefile, invece di -F. > > > > pyinstaller svolge il suo lavoro e in una 15 ina di secondi a fatto. > > Mi crea una cartella build con dentro una decina di file ed una dist che > contiene una sottocartella col nome del progetto che a sua volta contiene > l’exe. > > > > Se lo lancio dalla cartella che contiene anche il modulo che importa, > nessun problema ma se sposto altrove l’eseguibile, mi dice che non trova il > modulo e genera un errore. > > > > Cioè non viene prodotto lo standalone. > > > > Qualcuno ha qualche idea del perché ciò accada? > > > > Grazie mille. > > > > > > Gabriele Battaglia (Gabe / Gabry) - IZ4APU > > --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . > > Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) > > > ___________ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Ho un problema con pyinstaller.
Ciao a tutti. Devo ottenere un file eseguibile da un mio progetto. Mi serve un file unico. Uso pyinstaller 6.4.0 che dovrebbe essere l’ultima stabile. Sono con Python 3.11.8, sotto win11. Nello mio script, in una delle prime righe importo una porzione di codice da un altro mio programma. Poi faccio. pyinstaller -F mioscript.py oppure --onefile, invece di -F. pyinstaller svolge il suo lavoro e in una 15 ina di secondi a fatto. Mi crea una cartella build con dentro una decina di file ed una dist che contiene una sottocartella col nome del progetto che a sua volta contiene l’exe. Se lo lancio dalla cartella che contiene anche il modulo che importa, nessun problema ma se sposto altrove l’eseguibile, mi dice che non trova il modulo e genera un errore. Cioè non viene prodotto lo standalone. Qualcuno ha qualche idea del perché ciò accada? Grazie mille. Gabriele Battaglia (Gabe / Gabry) - IZ4APU --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Domanda su import.
Basare una import sulle performance e' un errore, dopo ti trovi a fare unitest e fare monkey patching ovunque. L'import va posto all'inizio a meno che non sei disperato. Di solito se e' grossa non importi le funzioni perche e' un casino poi, cioe senza import from. Un saluto, Giorgio Il giorno mar 20 feb 2024 alle ore 13:30 Massimiliano della Rovere < massimiliano.dellarov...@gmail.com> ha scritto: > Premesso che senza indicazioni più precise sul "peso" (RAM? CPU? Tempo?) > della libreria, dell'elaborazione, dei dati grezzi e di quelli che dovranno > essere prodotti è difficile dare una risposta. > > Se il tuo applicativo è basato su asyncio, potresti valutare di > instanziare un concurrent.futures.ProcessPoolExecutor quando e dove serve, > sfruttare più CPU per l'elaborazione e non sequestrare la CPU con delle > coroutine che impiegano tanto tempo con elaborazione. > > Se parliamo del solito webserver (django, flask, ecc) e ipotizzando che tu > non abbia SSE o websocket che sostanzialmente ti rimandano al caso > precedente, creerei comunque un processo esterno i dei worker dedicati alla > libreria e dal tuo applicativo contatterei il pool per avviare > l'elaborazione, scrivendo poi il risultato in un luogo che sia accessibile > dal server web per renderlo scaricabile dall'utente o in modo che il > completamento del task possa essere rilevato dal programma che esponga il > risultato in un'area apposita all'utente/i interessati. > > Se invece deve essere una soluzione tutta in uno, senza processi esterni, > dovresti valutare i seguenti costo (costo può essere la RAM usata, la CPU > usata, il tempo... valuta): > 1. costo di import della libreria > 2. costo di trasmissione (anche file su disco) dei dati alla libreria > 3. costo di elaborazione dei dati > 4. costo di trasmissione (anche file su disco) dei dati prodotti dalla > libreria > 5. costo di una richiesta gestita dal tuo programma quando non entra in > gioco la libreria > 6. la percentuale media di richieste che necessitano della libreria. > > chiamiamo 1..4 la somma dei costi da 1 a 4. > Se 6 è basso e 1..4 è considerevolmente maggiore di 5... carica la > libreria solo quando e dove serve. > Se 6 è basso e 1..4 è simile a 5 carica la libreria a monte. > Se 6 è medio alto, carica la libreria a monte, > > Il giorno mar 20 feb 2024 alle ore 13:21 ha scritto: > >> Ciao. >> >> Una questione di carattere generale. >> >> >> >> Devo usare una libreria abbastanza grossa. Però, non tutto il mio >> programma la usa, ma solo una delle sue funzioni e queesta funzione >> potrebbe essere chiamata una sola volta, più volte o anche non chiamata >> affatto. >> >> >> >> Secondo voi, l’import di questa libreria è comunque meglio metterlo ad >> inizio programma, o piuttosto all’interno della funzione interessata? >> >> >> >> Grazie. >> >> >> >> Gabry. >> >> >> >> Gabriele Battaglia (Gabe / Gabry) - IZ4APU >> >> --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . >> >> Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) >> >> >> ___ >> Python mailing list >> Python@lists.python.it >> https://lists.python.it/mailman/listinfo/python >> > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- Life is a chess game - Anonymous. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Domanda su import.
Ciao Gabriele, le informazioni sono poche per darti un consiglio: tra le varie cose 1-bisogna valutare il rapporto tra il peso computazionale del tuo codice in relazione al codice della libreria che devi caricare 2- la tipologia di funzioni che devi utilizzare( ricorsive o meno) 3- la quantità di accessi che devi fare alla libreria all'interno del codice Di base ti consiglio a parità di tali valori di mettere l'import all'inizio del codice cmq puoi fare sempre delle prove così che ne impari sempre di più: questo è il mio metodo Il giorno mar 20 feb 2024 alle ore 14:25 Carlo Miron ha scritto: > Ciao Gabriele > > Il giorno mar 20 feb 2024 alle ore 13:21 ha scritto: > > > > Devo usare una libreria abbastanza grossa. Però, non tutto il mio > programma la usa, ma solo una delle sue funzioni e queesta funzione > potrebbe essere chiamata una sola volta, più volte o anche non chiamata > affatto. > > Secondo voi, l’import di questa libreria è comunque meglio metterlo ad > inizio programma, o piuttosto all’interno della funzione interessata? > > A meno che l'importazione della libreria non impatti percettibilmente > il tempo di caricamento del programma, ti consiglierei di metterlo > all'inizio del codice. > L'import all'interno della funzione in genere è un hack che deve > essere giustificato (e commentato) a buona ragione. > > Buona giornata, > ㎝ > > -- > THE -WARE LICENSE (Revision ㊷): > wrote this . As long as you retain this notice you > can > do whatever you want with this stuff. If we meet some day, and you > think this stuff is worth it, you can buy me a in return. — Carlo > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- mobile phone : +39 348 002 8107 tel: +39 0721 1630292 Per appuntamento: https://zcal.co/massimiliano_tornati TORNATI PROJECT SRL via Callegari 9-11 61122 Pesaro (PU) P.IVA/C.F. 02533270415 site: TORNATI PROJECT <http://www.tornatiproject.com> site:https://itofood.com/ <https://api.whatsapp.com/send/?phone=393496736011=%F0%9F%98%8ATornatiProject%C2%A0%20HERE!!!%20how%20can%20help%20you%3F> <https://api.whatsapp.com/send?phone=393480028107=Hello%21+%0A+Can+you+help+me%3F+> e-mail t...@tornatiproject.com Whatapp:https://wa.me/message/G6CHK7323ZODI1 The information contained in this e-mail and any attachment is confidential. It is intended only for the named addressee(s). If you are not the named addressee(s) please notify us immediately at the e-mail t...@tornatiproject.com and then destroy this message.The copy or distribution of the contents to any other person other than the intended addressee(s) is strictly prohibited and will be punished according to the relevant laws on privacy and Intellectual Property. Think before you print! Before you print, please consider if it is necessary. Printing uses electricity, ink and paper. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Domanda su import.
Premesso che senza indicazioni più precise sul "peso" (RAM? CPU? Tempo?) della libreria, dell'elaborazione, dei dati grezzi e di quelli che dovranno essere prodotti è difficile dare una risposta. Se il tuo applicativo è basato su asyncio, potresti valutare di instanziare un concurrent.futures.ProcessPoolExecutor quando e dove serve, sfruttare più CPU per l'elaborazione e non sequestrare la CPU con delle coroutine che impiegano tanto tempo con elaborazione. Se parliamo del solito webserver (django, flask, ecc) e ipotizzando che tu non abbia SSE o websocket che sostanzialmente ti rimandano al caso precedente, creerei comunque un processo esterno i dei worker dedicati alla libreria e dal tuo applicativo contatterei il pool per avviare l'elaborazione, scrivendo poi il risultato in un luogo che sia accessibile dal server web per renderlo scaricabile dall'utente o in modo che il completamento del task possa essere rilevato dal programma che esponga il risultato in un'area apposita all'utente/i interessati. Se invece deve essere una soluzione tutta in uno, senza processi esterni, dovresti valutare i seguenti costo (costo può essere la RAM usata, la CPU usata, il tempo... valuta): 1. costo di import della libreria 2. costo di trasmissione (anche file su disco) dei dati alla libreria 3. costo di elaborazione dei dati 4. costo di trasmissione (anche file su disco) dei dati prodotti dalla libreria 5. costo di una richiesta gestita dal tuo programma quando non entra in gioco la libreria 6. la percentuale media di richieste che necessitano della libreria. chiamiamo 1..4 la somma dei costi da 1 a 4. Se 6 è basso e 1..4 è considerevolmente maggiore di 5... carica la libreria solo quando e dove serve. Se 6 è basso e 1..4 è simile a 5 carica la libreria a monte. Se 6 è medio alto, carica la libreria a monte, Il giorno mar 20 feb 2024 alle ore 13:21 ha scritto: > Ciao. > > Una questione di carattere generale. > > > > Devo usare una libreria abbastanza grossa. Però, non tutto il mio > programma la usa, ma solo una delle sue funzioni e queesta funzione > potrebbe essere chiamata una sola volta, più volte o anche non chiamata > affatto. > > > > Secondo voi, l’import di questa libreria è comunque meglio metterlo ad > inizio programma, o piuttosto all’interno della funzione interessata? > > > > Grazie. > > > > Gabry. > > > > Gabriele Battaglia (Gabe / Gabry) - IZ4APU > > --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . > > Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) > > > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Domanda su import.
Ciao Gabriele Il giorno mar 20 feb 2024 alle ore 13:21 ha scritto: > > Devo usare una libreria abbastanza grossa. Però, non tutto il mio programma > la usa, ma solo una delle sue funzioni e queesta funzione potrebbe essere > chiamata una sola volta, più volte o anche non chiamata affatto. > Secondo voi, l’import di questa libreria è comunque meglio metterlo ad inizio > programma, o piuttosto all’interno della funzione interessata? A meno che l'importazione della libreria non impatti percettibilmente il tempo di caricamento del programma, ti consiglierei di metterlo all'inizio del codice. L'import all'interno della funzione in genere è un hack che deve essere giustificato (e commentato) a buona ragione. Buona giornata, ㎝ -- THE -WARE LICENSE (Revision ㊷): wrote this . As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a in return. — Carlo _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Domanda su import.
Ciao. Una questione di carattere generale. Devo usare una libreria abbastanza grossa. Però, non tutto il mio programma la usa, ma solo una delle sue funzioni e queesta funzione potrebbe essere chiamata una sola volta, più volte o anche non chiamata affatto. Secondo voi, l’import di questa libreria è comunque meglio metterlo ad inizio programma, o piuttosto all’interno della funzione interessata? Grazie. Gabry. Gabriele Battaglia (Gabe / Gabry) - IZ4APU --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] modo furbo per trovare pattern differenti in una stringa
Ciao, visto che il GCode è un codice strutturato in cui se trovi dei comandi specifici hai delle funzioni apposite; puoi definire una classe con gli oggetti che la compongono così che poi ti puoi gestire tutto il codice strutturato secondo le varie funzioni che ti servono perchè in realtà nono sono a caso. Il giorno mar 13 feb 2024 alle ore 14:32 Perini Matteo < perini.mat...@gmail.com> ha scritto: > Ciao a tutti, > > è da un po' che non scrivo. > > Vi chiedo aiuto perchè sto cercando di leggere delle coordinate da un file > Gcode. > > Un esempio del testo da parsare è: > > ;LAYER:1 > ;MESH:untitled.stl > G0 F7200 X1298 Y1798 Z4 > ;TYPE:WALL-OUTER > G1 F1800 X702 Y1798 E1494.81223 > G1 X702 Y1202 E2242.21834 > G92 E0 > G1 X1298 Y1202 E747.40611 > G1 Y1798 X1298 E1494.81223 > ;TIME_ELAPSED:177.752007 > ;CHANGE; > ;LAYER:2 > ;MESH:untitled.stl > G0 F7200 X1298 Y1798 Z6 > ;TYPE:WALL-OUTER > G1 F1800 X702 Y1798 E2242.21834 > G92 E0 > G1 X702 Y1202 E747.40611 > > non ho grossi problemi ad effettuare un parsing corretto ma lo sto facendo > con vari if, elif, case, ecc. cosa che non mi piace molto. > > Stavo provando ad utilizzare le regex ma non sto riuscendo a fare quello che > voglio (in modo pulito) ovvero identificare le coordinate X, Y e Z anche se > in alcuni casi hanno posizioni invertite. > Vorrei anche attribuire un nome al gruppo identificato in modo da usarlo come > dizionario. > Stavo usando alcuni pattern tipo ".*Z(?P\d+[.]?\d*)" che vanno bene per > individuare le coordinate di un asse ma capita che le righe contengano x y e > z oppure solo Z oppure solo x e y. > Importante, in alcuni casi potrebbero essere anche in ordine differente tipo > z y e x. > > Per ora i numeri dopo E e F posso trascurarli ma vi chiederei aiuto per > riuscire ad ottenere le coordinate da ogni riga. > > se tutte le righe rispettassero lo stesso pattern non avrei problemi ma non > so come affrontare soprattutto il problema di avere pattern diversi in ordine > (quasi) random. > > Spero di essere stato abbastanza chiaro. > > Grazie a tutti > > Matteo > > > > > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- mobile phone : +39 348 002 8107 tel: +39 0721 1630292 Per appuntamento: https://zcal.co/massimiliano_tornati TORNATI PROJECT SRL via Callegari 9-11 61122 Pesaro (PU) P.IVA/C.F. 02533270415 site: TORNATI PROJECT <http://www.tornatiproject.com> site:https://itofood.com/ <https://api.whatsapp.com/send/?phone=393496736011=%F0%9F%98%8ATornatiProject%C2%A0%20HERE!!!%20how%20can%20help%20you%3F> <https://api.whatsapp.com/send?phone=393480028107=Hello%21+%0A+Can+you+help+me%3F+> e-mail t...@tornatiproject.com Whatapp:https://wa.me/message/G6CHK7323ZODI1 The information contained in this e-mail and any attachment is confidential. It is intended only for the named addressee(s). If you are not the named addressee(s) please notify us immediately at the e-mail t...@tornatiproject.com and then destroy this message.The copy or distribution of the contents to any other person other than the intended addressee(s) is strictly prohibited and will be punished according to the relevant laws on privacy and Intellectual Property. Think before you print! Before you print, please consider if it is necessary. Printing uses electricity, ink and paper. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] modo furbo per trovare pattern differenti in una stringa
On 13/02/24 14:32, Perini Matteo wrote: Ciao a tutti, è da un po' che non scrivo. Vi chiedo aiuto perchè sto cercando di leggere delle coordinate da un file Gcode. [...] Vorrei anche attribuire un nome al gruppo identificato in modo da usarlo come dizionario. Ciao, se ho capito bene qualcosa così dovrebbe andare: import re origin =""";LAYER:1 ;MESH:untitled.stl G0 F7200 X1298 Y1798 Z4 ;TYPE:WALL-OUTER G1 F1800 X702 Y1798 E1494.81223 G1 X702 Y1202 E2242.21834 G92 E0 G1 X1298 Y1202 E747.40611 G1 Y1798 X1298 E1494.81223 ;TIME_ELAPSED:177.752007 ;CHANGE; ;LAYER:2 ;MESH:untitled.stl G0 F7200 X1298 Y1798 Z6 ;TYPE:WALL-OUTER G1 F1800 X702 Y1798 E2242.21834 G92 E0 G1 X702 Y1202 E747.40611""" pattern = re.compile(r"([EFXYZ])(\d+\.?\d*)") for linea in origin.splitlines(): if not linea.startswith(';'): print(dict(pattern.findall(linea))) -- Alessandro T. R: Perché leggiamo dall'alto al basso e da sinistra a destra. D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] modo furbo per trovare pattern differenti in una stringa
Ciao, se fai split sulla riga con separatore lo spazio e guardi quelle che cominciano con GX, non è meglio? Lì prendi quelli che cominciano per X, Y e Z. Ignori le righe che non servono (quelle che cominciano per ; ad esempio). Con regexp, posso suggerirti questo: https://stackoverflow.com/a/3533526/15822654 che sembra affrontare il tuo problema, cioè il match di token sparsi casualmente in una stringa. Il 13/02/24 14:32, Perini Matteo ha scritto: Ciao a tutti, è da un po' che non scrivo. Vi chiedo aiuto perchè sto cercando di leggere delle coordinate da un file Gcode. Un esempio del testo da parsare è: ;LAYER:1 ;MESH:untitled.stl G0 F7200 X1298 Y1798 Z4 ;TYPE:WALL-OUTER G1 F1800 X702 Y1798 E1494.81223 G1 X702 Y1202 E2242.21834 G92 E0 G1 X1298 Y1202 E747.40611 G1 Y1798 X1298 E1494.81223 ;TIME_ELAPSED:177.752007 ;CHANGE; ;LAYER:2 ;MESH:untitled.stl G0 F7200 X1298 Y1798 Z6 ;TYPE:WALL-OUTER G1 F1800 X702 Y1798 E2242.21834 G92 E0 G1 X702 Y1202 E747.40611 non ho grossi problemi ad effettuare un parsing corretto ma lo sto facendo con vari if, elif, case, ecc. cosa che non mi piace molto. Stavo provando ad utilizzare le regex ma non sto riuscendo a fare quello che voglio (in modo pulito) ovvero identificare le coordinate X, Y e Z anche se in alcuni casi hanno posizioni invertite. Vorrei anche attribuire un nome al gruppo identificato in modo da usarlo come dizionario. Stavo usando alcuni pattern tipo ".*Z(?P\d+[.]?\d*)" che vanno bene per individuare le coordinate di un asse ma capita che le righe contengano x y e z oppure solo Z oppure solo x e y. Importante, in alcuni casi potrebbero essere anche in ordine differente tipo z y e x. Per ora i numeri dopo E e F posso trascurarli ma vi chiederei aiuto per riuscire ad ottenere le coordinate da ogni riga. se tutte le righe rispettassero lo stesso pattern non avrei problemi ma non so come affrontare soprattutto il problema di avere pattern diversi in ordine (quasi) random. Spero di essere stato abbastanza chiaro. Grazie a tutti Matteo _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python_______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] modo furbo per trovare pattern differenti in una stringa
Ciao a tutti, è da un po' che non scrivo. Vi chiedo aiuto perchè sto cercando di leggere delle coordinate da un file Gcode. Un esempio del testo da parsare è: ;LAYER:1 ;MESH:untitled.stl G0 F7200 X1298 Y1798 Z4 ;TYPE:WALL-OUTER G1 F1800 X702 Y1798 E1494.81223 G1 X702 Y1202 E2242.21834 G92 E0 G1 X1298 Y1202 E747.40611 G1 Y1798 X1298 E1494.81223 ;TIME_ELAPSED:177.752007 ;CHANGE; ;LAYER:2 ;MESH:untitled.stl G0 F7200 X1298 Y1798 Z6 ;TYPE:WALL-OUTER G1 F1800 X702 Y1798 E2242.21834 G92 E0 G1 X702 Y1202 E747.40611 non ho grossi problemi ad effettuare un parsing corretto ma lo sto facendo con vari if, elif, case, ecc. cosa che non mi piace molto. Stavo provando ad utilizzare le regex ma non sto riuscendo a fare quello che voglio (in modo pulito) ovvero identificare le coordinate X, Y e Z anche se in alcuni casi hanno posizioni invertite. Vorrei anche attribuire un nome al gruppo identificato in modo da usarlo come dizionario. Stavo usando alcuni pattern tipo ".*Z(?P\d+[.]?\d*)" che vanno bene per individuare le coordinate di un asse ma capita che le righe contengano x y e z oppure solo Z oppure solo x e y. Importante, in alcuni casi potrebbero essere anche in ordine differente tipo z y e x. Per ora i numeri dopo E e F posso trascurarli ma vi chiederei aiuto per riuscire ad ottenere le coordinate da ogni riga. se tutte le righe rispettassero lo stesso pattern non avrei problemi ma non so come affrontare soprattutto il problema di avere pattern diversi in ordine (quasi) random. Spero di essere stato abbastanza chiaro. Grazie a tutti Matteo _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
Altra possibilità. Supponiamo di avere 20 regioni, 30 stati e 100 province. Si scrivano le equazioni delle rette passanti per le coppie di punti: ( 0 , 0 ) - ( 20 , 1/3) (20 , 1/3) - ( 50 , 2/3) (50 , 2/3) - (150 , 1 ) Scelto un numero casuale w in ( 0 , 1 ) si stabilisce se è compreso da (0/1/3) o fra (1/3,2/2) oppure fra (2/3, 1 ). Si calcola la corrispondente contro immagine e l’intervallo nel quale questa cade ci dà la regione o la nazione oppure la provincia cercata. In questo modo si effettua un solo sorteggio. Bruno Firmani > Il giorno 12 feb 2024, alle ore 22:13, Marco Beri ha > scritto: > > On Mon, 12 Feb 2024, 21:25 Mauro Casini, <mailto:ma...@iperbole.bologna.it>> wrote: >> Marco Beri mailto:marcob...@gmail.com>> writes: >> >> >> cas_lst = random.choice((reg_ita, naz_eur, pro_ita)) >> >> cas_fin = random.choice(cas_lst) >> > >> > Non è quello che vuole fare lui. >> > >> > Lui vuole scegliere a caso tra reg_cas, naz_cas e pro_cas. >> >> È la stessa cosa: un elemento casuale con prob. 1/3 reg, 1/3 naz, 1/3 >> pro. È inutle sorteggiare un elemento da ogni lista per poi scartarne >> due, basta estrarne uno solo da una lista scelta a caso fra le tre, > > > > Ah, giusto. Sono stato avventato :-) > > Così ti risparmi due random.choice. > > Ciao. > Marco. > > _______ > Python mailing list > Python@lists.python.it <mailto:Python@lists.python.it> > https://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
On Mon, 12 Feb 2024, 21:25 Mauro Casini, wrote: > Marco Beri writes: > > >> cas_lst = random.choice((reg_ita, naz_eur, pro_ita)) > >> cas_fin = random.choice(cas_lst) > > > > Non è quello che vuole fare lui. > > > > Lui vuole scegliere a caso tra reg_cas, naz_cas e pro_cas. > > È la stessa cosa: un elemento casuale con prob. 1/3 reg, 1/3 naz, 1/3 > pro. È inutle sorteggiare un elemento da ogni lista per poi scartarne > due, basta estrarne uno solo da una lista scelta a caso fra le tre, > Ah, giusto. Sono stato avventato :-) Così ti risparmi due random.choice. Ciao. Marco. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
Marco Beri writes: >> cas_lst = random.choice((reg_ita, naz_eur, pro_ita)) >> cas_fin = random.choice(cas_lst) > > Non è quello che vuole fare lui. > > Lui vuole scegliere a caso tra reg_cas, naz_cas e pro_cas. È la stessa cosa: un elemento casuale con prob. 1/3 reg, 1/3 naz, 1/3 pro. È inutle sorteggiare un elemento da ogni lista per poi scartarne due, basta estrarne uno solo da una lista scelta a caso fra le tre, ciao, Mauro _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
Il giorno lun 12 feb 2024 alle ore 19:42 Mauro Casini < ma...@iperbole.bologna.it> ha scritto: > Marco Monti writes: > > > reg_cas=random.choice(reg_ita) > > naz_cas=random.choice(naz_eur) > > pro_cas=random.choice(pro_ita) > > cas_fin=random.choice(reg_cas+pro_cas+naz_cas) > > Da errore. Non so come fare > > cas_lst = random.choice((reg_ita, naz_eur, pro_ita)) > cas_fin = random.choice(cas_lst) > Non è quello che vuole fare lui. Lui vuole scegliere a caso tra reg_cas, naz_cas e pro_cas. Ciao. Marco. _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
Marco Monti writes: > reg_cas=random.choice(reg_ita) > naz_cas=random.choice(naz_eur) > pro_cas=random.choice(pro_ita) > cas_fin=random.choice(reg_cas+pro_cas+naz_cas) > Da errore. Non so come fare cas_lst = random.choice((reg_ita, naz_eur, pro_ita)) cas_fin = random.choice(cas_lst) Mauro ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
Il giorno lun 12 feb 2024 alle ore 16:20 Esalando Prassi < alessandro.p...@katamail.com> ha scritto: > Credo tu voglia fare qualcosa tipo: > > ``` > random.choice(reg_ita + naz_eur + pro_ita) > ``` > Io invece punto su: cas_fin=random.choice((reg_cas, pro_cas, naz_cas)) Ciao. Marco. > > ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
On Mon, 12 Feb 2024 at 16:06, Marco Monti wrote: > Buongiorno. Sto usando liste e tuple e non so come risolvere un problema > sulla diversa numerosità degli oggetti. Mi spiego meglio. > In un test di geografia ho inserito una lista delle 20 regioni italiane, > una lista delle 25 nazioni europee e una lista delle circa 100 province > italiane. > Dato che le 100 provincie italiane sono numericamente ben superiori alle > nazioni e alle regioni la scelta casuale fa uscire quasi sempre le > provincie. Non trovo un modo per bilanciare la scelta casuale. > Ho pensato di fare una scelta casuale differenziata: scelta solo fra le > nazioni, solo fra le regioni, solo fra le provincie. Poi fare una scelta > fra le suddette tre. Mi dà errore. > reg_ita=[] > naz_eur=[] > pro_ita=[] > reg_cas=random.choice(reg_ita) > naz_cas=random.choice(naz_eur) > pro_cas=random.choice(pro_ita) > cas_fin=random.choice(reg_cas+pro_cas+naz_cas) > Da errore. Non so come fare > > Credo tu voglia fare qualcosa tipo: ``` random.choice(reg_ita + naz_eur + pro_ita) ``` Ciao! -- http://alepisa.blogspot.com Esalando Prassi ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] LISTE E RANDOM
Il giorno lun 12 feb 2024 alle ore 16:06 Marco Monti ha scritto: > > [...] > Da errore. Non so come fare Ho un sospetto di quale sia l'errore, ma dato che il codice che hai postato non è eseguibile, almeno riporta l'errore che ti segnala l'interprete. Ciao. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] LISTE E RANDOM
Buongiorno. Sto usando liste e tuple e non so come risolvere un problema sulla diversa numerosità degli oggetti. Mi spiego meglio. In un test di geografia ho inserito una lista delle 20 regioni italiane, una lista delle 25 nazioni europee e una lista delle circa 100 province italiane. Dato che le 100 provincie italiane sono numericamente ben superiori alle nazioni e alle regioni la scelta casuale fa uscire quasi sempre le provincie. Non trovo un modo per bilanciare la scelta casuale. Ho pensato di fare una scelta casuale differenziata: scelta solo fra le nazioni, solo fra le regioni, solo fra le provincie. Poi fare una scelta fra le suddette tre. Mi dà errore. reg_ita=[] naz_eur=[] pro_ita=[] reg_cas=random.choice(reg_ita) naz_cas=random.choice(naz_eur) pro_cas=random.choice(pro_ita) cas_fin=random.choice(reg_cas+pro_cas+naz_cas) Da errore. Non so come fare Marco Monti cell. 340 7200207 ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Sostituire l'interprete.
Ciao. Con Windows 11 e Python 3.11, si può sostituire l’interprete di default mettendo, ad esempio, iPython? Gabriele Battaglia (Gabe / Gabry) - IZ4APU --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from Outlook on Windows, Genus Bononiae's computer. (Libero) ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Ciao, quando crei una funzione con parametri di default in python, funziona un po' come se l'avessi in realtà dichiarata così (*) var_0001 = [] def prova(cambia, par): if par is None: par = var_0001 if cambia: par.append('pippo') print("cambiata") print(par) e l'interprete avesse trasformato le chiamate in prova(False, None)# [] prova(True, None) # cambiata \n ['pippo'] prova(False, None)# ['pippo'] In altre parole, ogni volta che entri nella funzione il parametro /par /viene agganciato alla variabile /var_0001 /e quindi ogni modifica al contenuto di /par /tocca la variabile. se invece di append metti par = ['pippo'] invece non modifichi /var_0001/, ma stai semplicemente agganciando par a/['pippo']/ La prossima volta par sarà riagganciato alla variabile originaria e quindi avrai sempre prova(False, None)# [] prova(True, None) # cambiata \n ['pippo'] prova(False, None)# [] Ciao, Riccardo (*) ovviamente l'interprete non lavora proprio così _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
On Mon, 12 Feb 2024 09:30:18 +0100 Daniele Zambelli wrote --- > > Mi sfugge ancora qualcosa... > Credo che quello che ti sfugge è che quando scrivi par.append('pippo') stai cambiando lo stato di una lista esistente, quella riferita dalla variabile `par`, mentre quando scrivi par = 'pippo' stai cambiando ciò a cui `par` fa riferimento. Quindi se fai par = [] par.append('pippo') prima cambi il riferimento, facendolo puntare a una nuova lista, poi ne cambi lo stato ciao federico _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Il giorno lun 12 feb 2024 alle ore 09:46 Marco Beri ha scritto: > [...] > > Daniele, > il non side effect non si applica quando il valore di default di un parametro > è un mutable (lista o set o dict). > Pensa che a volte si usa questo per memoizzare brutalmente una funzione. > [...] Se non fosse banale, dato che sono molte più le cose che non conosco di Python di quelle che conosco, direi che non si è mai finito di imparare. Grazie a tutti per la competenza e la pazienza. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Il giorno lun 12 feb 2024 alle ore 09:38 Esalando Prassi ha scritto: > > On Sun, 11 Feb 2024 at 16:32, Daniele Zambelli > wrote: >> [...] > Questo e' una cosa nota e mi sa che in tanti ci hanno sbattuto la testa: > https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments > [...] Lettura istruttiva, grazie. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Il giorno lun 12 feb 2024 alle ore 09:36 Daniele Zambelli < daniele.zambe...@gmail.com> ha scritto: > Lo strano per me è che il valore di default dovrebbe essere una lista > vuota ogni volta che chiamo la funzione invece la seconda volta è una > lista con i valori che sono stati inseriti dalla funzione nella > chiamata precedente. > Cioè due chiamate identiche della funzione hanno effetti differenti. > Mi pare che non rispetti il principio di non side effect (se si dice così). > Daniele, il non side effect non si applica quando il valore di default di un parametro è un mutable (lista o set o dict). Pensa che a volte si usa questo per memoizzare brutalmente una funzione. Esempio: def quadrato(n, cache={}): try: return cache[n] except KeyError: pass print("calcolo") q = cache[n] = n*n return q >>> quadrato(10) calcolo 100 >>> quadrato(10) 100 Ciao. Marco. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
On Sun, 11 Feb 2024 at 16:32, Daniele Zambelli wrote: > Stavo studiando degli algoritmi per produrre la lista delle > permutazioni di una sequenza, ho modificato una funzione che ho > trovato su stackoverflow e mi sono imbattuto in un comportamento molto > strano (per me). > Lo script è questo: > > def permutazioni1(head, tail='', result=[]): > Questo e' una cosa nota e mi sa che in tanti ci hanno sbattuto la testa: https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments ``` def permutazioni1(head, tail='', result=[]): ``` andrebbe cambiato in: ``` def permutazioni1(head, tail='', result=None): if result is None: result = [] ``` Ciao! -- http://alepisa.blogspot.com Esalando Prassi _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Il giorno lun 12 feb 2024 alle ore 09:27 Carlos Catucci ha scritto: > > [...] > E cosa ci sarebbe di strano? Se non gli passi un valore applica quello di > default. QUello che deve fare fa'. Lo strano per me è che il valore di default dovrebbe essere una lista vuota ogni volta che chiamo la funzione invece la seconda volta è una lista con i valori che sono stati inseriti dalla funzione nella chiamata precedente. Cioè due chiamate identiche della funzione hanno effetti differenti. Mi pare che non rispetti il principio di non side effect (se si dice così). Ciao. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Il giorno lun 12 feb 2024 alle ore 08:47 Federico Fissore ha scritto: > > Ciao > > no, l'ultima funzione sta rivalorizzando `par` ogni volta. Cambiala così e > riesegui Ok, questo mi pare che riproduca la situazione: def prova(cambia, par=[]): if cambia: par.append('pippo') print("cambiata") print(par) prova(False)# [] prova(True) # cambiata \n ['pippo'] prova(False)# ['pippo'] Ma la cosa è un po' più sottile di come mi sembrava di avere capito, infatti: def prova(cambia, par=[]): if cambia: par = ['pippo'] print("cambiata") print(par) prova(False)# [] prova(True) # cambiata \n ['pippo'] prova(False)# [] def prova(cambia, par=''): if cambia: par = 'pippo' print("cambiata") print(par) prova(False)# '' prova(True) # cambiata \n 'pippo' prova(False)# '' Mi sfugge ancora qualcosa... Grazie, ciao. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
On Mon, 12 Feb 2024 at 00:10, Daniele Zambelli wrote: > Mi pare di avere capito, ma continua a risultarmi strano questo > comportamento: > > > Se il valore della variabile viene cambiata al momento della chiamata > della funzione, il valore di default rimane, se viene cambiata dalla > funzione stessa il valore di default cambia in tutte le chiamate > successive. E cosa ci sarebbe di strano? Se non gli passi un valore applica quello di default. QUello che deve fare fa'. Carlos _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un quesito su pip.
> Il giorno dom 11 feb 2024 alle ore 23:19 Gabriele Battaglia > ha scritto: > > > > Ciao a tutti. > > > > Perdonate l'ignoranza estrema, vorrei capire il perchè di questa cosa. > > > > Fino ad oggi, se dal prompt di Win11 digitavo pip, potevo gestire i > > pacchetti installati. > > > > Dopo aver installato ed usato per qualche giorno anaconda, l'ho > > disinstallato ed ora dal prompt, pip non mi risponde più. > > [...] > > Sono diversi anni che non uso Windows, per cui potrei dire delle vaccate... > Forse Windows, quando hai disinstallato anaconda, ha tolto il collegamento > tra il tipo di file e l'interprete, bisogna reimpostarlo magari attraverso il > menu > contestuale di pip scegliendo "apri con..." > e scegliendo "usa sempre questa applicazione" (o qualcosa del genere). > > Ciao. [# Gabry B:] Ciao Daniele. In questo caso non penso. Era forse più un problema di percorsi inseriti in qualche variabile di sistema per indicare all'O.S. dove cercare gli eseguibili. Ho controllato tutte le variabili di sistema ma non ho trovato nulla. Ho risolto disinstallando e reinstallando la 3.11.8 di Python. Grazie per la tua risposta. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Ciao no, l'ultima funzione sta rivalorizzando `par` ogni volta. Cambiala così e riesegui def prova(par=['pippo']): if par == ['pippo']: print("cambiata") par = ['pluto'] print(par) ciao federico On Mon, 12 Feb 2024 00:09:55 +0100 Daniele Zambelli wrote --- > Mi pare di avere capito, ma continua a risultarmi strano questo > comportamento: > > > def prova(par='pippo'): > print(par) > > prova('pluto') # pluto > prova() # pippo > > def prova(par=['pippo']): > print(par) > > prova(['pluto'])# ['pluto'] > prova() # ['pippo'] > > def prova(par=['pippo']): > if par == ['pippo']: > par = ['pluto'] > print(par) > > prova() # ['pluto'] > prova() # ['pluto'] > > Se il valore della variabile viene cambiata al momento della chiamata > della funzione, il valore di default rimane, se viene cambiata dalla > funzione stessa il valore di default cambia in tutte le chiamate > successive. > > Grazie, ciao. > > Il giorno dom 11 feb 2024 alle ore 18:12 Federico Fissore > feder...@fissore.org> ha scritto: > > > > Ciao > > > > Result é locale alla funzione ma il suo valore di default no: quel [] è > > una lista definita a livello di funzione, quindi definita una volta e > > condivisa da ogni invocazione. > > Se vuoi evitare sorprese, usa none come valore di default, e nella > > funzione metti > > If result is none: > >result = [] > > > > Ciao > > > > Federico > > > > > > > > > On 11 Feb 2024, at 16:32, Daniele Zambelli daniele.zambe...@gmail.com> > > > wrote: > > > Stavo studiando degli algoritmi per produrre la lista delle > > > permutazioni di una sequenza, ho modificato una funzione che ho > > > trovato su stackoverflow e mi sono imbattuto in un comportamento molto > > > strano (per me). > > > Lo script è questo: > > > > > > def permutazioni1(head, tail='', result=[]): > > >if len(head) == 0: > > >result.append(tail) > > >else: > > >for i in range(len(head)): > > >permutazioni1(head[:i] + head[i+1:], tail + head[i]) > > >else: > > > return(result) > > > > > > print(permutazioni1("abc")) > > > > > > print('-') > > > > > > print(permutazioni1("def")) > > > > > > Io mi aspettavo che il parametro "result" fosse locale alla funzione > > > "permutazioni1" e che non mantenesse il suo contenuto tra una chiamata > > > e l'altra della funzione il risultato dello script è: > > > > > > ['abc', 'acb', 'bac', 'bca', 'cab', 'cba'] > > > - > > > ['abc', 'acb', 'bac', 'bca', 'cab', 'cba', 'def', 'dfe', 'edf', 'efd', > > > 'fde', 'fed'] > > > > > > Probabilmente non è il modo corretto per ottenere la lista delle > > > permutazioni, ma qualcuno sa spiegarmi perché si comporta così e come > > > eventualmente correggerlo? > > > > > > Grazie, da una domenica uggiosa. > > > > > > -- > > > > > > Daniele > > > > > > www.matematicadolce.eu > > > > > > Perché la scuola, > > > invece di essere un luogo dove ci si allena a imparare, > > > è un luogo dove si fa finta di sapere? > > > ___ > > > Python mailing list > > > Python@lists.python.it > > > https://lists.python.it/mailman/listinfo/python > > > > > -- > > Daniele > > www.matematicadolce.eu > > Perché la scuola, > invece di essere un luogo dove ci si allena a imparare, > è un luogo dove si fa finta di sapere? > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un quesito su pip.
Il giorno dom 11 feb 2024 alle ore 23:19 Gabriele Battaglia ha scritto: > > Ciao a tutti. > > Perdonate l'ignoranza estrema, vorrei capire il perchè di questa cosa. > > Fino ad oggi, se dal prompt di Win11 digitavo pip, potevo gestire i > pacchetti installati. > > Dopo aver installato ed usato per qualche giorno anaconda, l'ho > disinstallato ed ora dal prompt, pip non mi risponde più. > [...] Sono diversi anni che non uso Windows, per cui potrei dire delle vaccate... Forse Windows, quando hai disinstallato anaconda, ha tolto il collegamento tra il tipo di file e l'interprete, bisogna reimpostarlo magari attraverso il menu contestuale di pip scegliendo "apri con..." e scegliendo "usa sempre questa applicazione" (o qualcosa del genere). Ciao. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Mi pare di avere capito, ma continua a risultarmi strano questo comportamento: def prova(par='pippo'): print(par) prova('pluto') # pluto prova() # pippo def prova(par=['pippo']): print(par) prova(['pluto'])# ['pluto'] prova() # ['pippo'] def prova(par=['pippo']): if par == ['pippo']: par = ['pluto'] print(par) prova() # ['pluto'] prova() # ['pluto'] Se il valore della variabile viene cambiata al momento della chiamata della funzione, il valore di default rimane, se viene cambiata dalla funzione stessa il valore di default cambia in tutte le chiamate successive. Grazie, ciao. Il giorno dom 11 feb 2024 alle ore 18:12 Federico Fissore ha scritto: > > Ciao > > Result é locale alla funzione ma il suo valore di default no: quel [] è una > lista definita a livello di funzione, quindi definita una volta e condivisa > da ogni invocazione. > Se vuoi evitare sorprese, usa none come valore di default, e nella funzione > metti > If result is none: >result = [] > > Ciao > > Federico > > > > > On 11 Feb 2024, at 16:32, Daniele Zambelli > > wrote: > > Stavo studiando degli algoritmi per produrre la lista delle > > permutazioni di una sequenza, ho modificato una funzione che ho > > trovato su stackoverflow e mi sono imbattuto in un comportamento molto > > strano (per me). > > Lo script è questo: > > > > def permutazioni1(head, tail='', result=[]): > >if len(head) == 0: > >result.append(tail) > >else: > >for i in range(len(head)): > >permutazioni1(head[:i] + head[i+1:], tail + head[i]) > >else: > > return(result) > > > > print(permutazioni1("abc")) > > > > print('-') > > > > print(permutazioni1("def")) > > > > Io mi aspettavo che il parametro "result" fosse locale alla funzione > > "permutazioni1" e che non mantenesse il suo contenuto tra una chiamata > > e l'altra della funzione il risultato dello script è: > > > > ['abc', 'acb', 'bac', 'bca', 'cab', 'cba'] > > - > > ['abc', 'acb', 'bac', 'bca', 'cab', 'cba', 'def', 'dfe', 'edf', 'efd', > > 'fde', 'fed'] > > > > Probabilmente non è il modo corretto per ottenere la lista delle > > permutazioni, ma qualcuno sa spiegarmi perché si comporta così e come > > eventualmente correggerlo? > > > > Grazie, da una domenica uggiosa. > > > > -- > > > > Daniele > > > > www.matematicadolce.eu > > > > Perché la scuola, > > invece di essere un luogo dove ci si allena a imparare, > > è un luogo dove si fa finta di sapere? > > ___ > > Python mailing list > > Python@lists.python.it > > https://lists.python.it/mailman/listinfo/python > -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Un quesito su pip.
Ciao a tutti. Perdonate l'ignoranza estrema, vorrei capire il perchè di questa cosa. Fino ad oggi, se dal prompt di Win11 digitavo pip, potevo gestire i pacchetti installati. Dopo aver installato ed usato per qualche giorno anaconda, l'ho disinstallato ed ora dal prompt, pip non mi risponde più. Tuttavia lo fa se lo chiamo attraverso python: py -m pip . Anche pyinstaller: prima lo invocavo direttamente dal prompt, ora c'è solo se lo chiamo con py -m Qual è la differenza fra queste 2 invocazioni. C'è un modo migliore dell'altro? Perchè la rimozione di anaconda ha cambiato le cose? Grazie mille. -- Gabriele Battaglia (IZ4APU) --... ...-- -.. . .. --.. - .- .--. ..- - ..- . . Sent from my Giant Desktop PC ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Questo, da Python, non me lo sarei mai aspettato
Ciao Result é locale alla funzione ma il suo valore di default no: quel [] è una lista definita a livello di funzione, quindi definita una volta e condivisa da ogni invocazione. Se vuoi evitare sorprese, usa none come valore di default, e nella funzione metti If result is none: result = [] Ciao Federico > On 11 Feb 2024, at 16:32, Daniele Zambelli wrote: > Stavo studiando degli algoritmi per produrre la lista delle > permutazioni di una sequenza, ho modificato una funzione che ho > trovato su stackoverflow e mi sono imbattuto in un comportamento molto > strano (per me). > Lo script è questo: > > def permutazioni1(head, tail='', result=[]): >if len(head) == 0: >result.append(tail) >else: >for i in range(len(head)): >permutazioni1(head[:i] + head[i+1:], tail + head[i]) >else: > return(result) > > print(permutazioni1("abc")) > > print('-') > > print(permutazioni1("def")) > > Io mi aspettavo che il parametro "result" fosse locale alla funzione > "permutazioni1" e che non mantenesse il suo contenuto tra una chiamata > e l'altra della funzione il risultato dello script è: > > ['abc', 'acb', 'bac', 'bca', 'cab', 'cba'] > - > ['abc', 'acb', 'bac', 'bca', 'cab', 'cba', 'def', 'dfe', 'edf', 'efd', > 'fde', 'fed'] > > Probabilmente non è il modo corretto per ottenere la lista delle > permutazioni, ma qualcuno sa spiegarmi perché si comporta così e come > eventualmente correggerlo? > > Grazie, da una domenica uggiosa. > > -- > > Daniele > > www.matematicadolce.eu > > Perché la scuola, > invece di essere un luogo dove ci si allena a imparare, > è un luogo dove si fa finta di sapere? > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Questo, da Python, non me lo sarei mai aspettato
Stavo studiando degli algoritmi per produrre la lista delle permutazioni di una sequenza, ho modificato una funzione che ho trovato su stackoverflow e mi sono imbattuto in un comportamento molto strano (per me). Lo script è questo: def permutazioni1(head, tail='', result=[]): if len(head) == 0: result.append(tail) else: for i in range(len(head)): permutazioni1(head[:i] + head[i+1:], tail + head[i]) else: return(result) print(permutazioni1("abc")) print('-') print(permutazioni1("def")) Io mi aspettavo che il parametro "result" fosse locale alla funzione "permutazioni1" e che non mantenesse il suo contenuto tra una chiamata e l'altra della funzione il risultato dello script è: ['abc', 'acb', 'bac', 'bca', 'cab', 'cba'] - ['abc', 'acb', 'bac', 'bca', 'cab', 'cba', 'def', 'dfe', 'edf', 'efd', 'fde', 'fed'] Probabilmente non è il modo corretto per ottenere la lista delle permutazioni, ma qualcuno sa spiegarmi perché si comporta così e come eventualmente correggerlo? Grazie, da una domenica uggiosa. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [mkdocs][mkdocstring]
Ok, scusatemi. alla fine era un discorso di file .env pardon. Il giorno mer 13 dic 2023 alle ore 16:51 Luca ha scritto: > Salve a tutti, > Qualcuno di voi ha esperienza con mkdocs e mkdocstrings ? > > Ho visto che mkdocstrings usa *griffe* per recuperare informazioni sui > moduli quindi ho provato con il comando > > griffe dump -B -X -s . apps.updates.admin > > il che mi ritorna il JSON con le informazioni sul modulo come previsto. > > Il problema è che una volta inserito il riferimento nel file .md mi da > l’errore. > > ::: apps.updates.admin > > ERROR - mkdocstrings: > ERROR - Error reading page 'apps/updates/admin.md': > ERROR - Could not collect 'apps.updates.admin' > > Io ho provato a forzare le paths nella configurazione > > - mkdocstrings: > default_handler: python > handlers: > python: > paths: [.] > > e debuggando il loader prende in carico la path… ma comunque mi da errore. > > il tree è questo > > . > ├── apps > │ └── updates > └── core > ├── auth > ├── database > │ └── manager > ├── health > ├── logging > ├── middlewares > ├── migrations > ├── routing > └── utils > > dove sbaglio ? > torno a sphinx (che in realtà era la prima scelta)? > -- > Luca > -- Luca ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] [mkdocs][mkdocstring]
Salve a tutti, Qualcuno di voi ha esperienza con mkdocs e mkdocstrings ? Ho visto che mkdocstrings usa *griffe* per recuperare informazioni sui moduli quindi ho provato con il comando griffe dump -B -X -s . apps.updates.admin il che mi ritorna il JSON con le informazioni sul modulo come previsto. Il problema è che una volta inserito il riferimento nel file .md mi da l’errore. ::: apps.updates.admin ERROR - mkdocstrings: ERROR - Error reading page 'apps/updates/admin.md': ERROR - Could not collect 'apps.updates.admin' Io ho provato a forzare le paths nella configurazione - mkdocstrings: default_handler: python handlers: python: paths: [.] e debuggando il loader prende in carico la path… ma comunque mi da errore. il tree è questo . ├── apps │ └── updates └── core ├── auth ├── database │ └── manager ├── health ├── logging ├── middlewares ├── migrations ├── routing └── utils dove sbaglio ? torno a sphinx (che in realtà era la prima scelta)? -- Luca ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Folium
Il ven 8 dic 2023, 11:44 massimo di stefano ha scritto: > Dai un occhio anche dash-leaflet > > https://www.dash-leaflet.com/ > Certo, grazie. Ciao, Giuliano > > > Il giorno ven 8 dic 2023 alle 10:43 Giuliano Curti > ha scritto: > >> Ciao a tutti, >> qualcuno usa folium e vuole darmi le sue impressioni? >> >> Dopo qualche giorno a digerire un po' di javascript per gestire delle >> mappe con leaflet, ho scoperto che esiste il progetto folium. >> >> L'idea di ritornare ad un ambiente a me più consono mi stuzzica. Le mie >> esigenze sono molto limitate: >> - una mappa di sfondo (meglio se più d'una fra cui scegliere) >> - una, forse due, mappe di overlay >> - un meccanismo di popup >> mi bastano. >> >> Grazie, un saluto, >> Giuliano >> _______ >> Python mailing list >> Python@lists.python.it >> https://lists.python.it/mailman/listinfo/python >> > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Folium
Dai un occhio anche dash-leaflet https://www.dash-leaflet.com/ Il giorno ven 8 dic 2023 alle 10:43 Giuliano Curti ha scritto: > Ciao a tutti, > qualcuno usa folium e vuole darmi le sue impressioni? > > Dopo qualche giorno a digerire un po' di javascript per gestire delle > mappe con leaflet, ho scoperto che esiste il progetto folium. > > L'idea di ritornare ad un ambiente a me più consono mi stuzzica. Le mie > esigenze sono molto limitate: > - una mappa di sfondo (meglio se più d'una fra cui scegliere) > - una, forse due, mappe di overlay > - un meccanismo di popup > mi bastano. > > Grazie, un saluto, > Giuliano > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Folium
Ciao a tutti, qualcuno usa folium e vuole darmi le sue impressioni? Dopo qualche giorno a digerire un po' di javascript per gestire delle mappe con leaflet, ho scoperto che esiste il progetto folium. L'idea di ritornare ad un ambiente a me più consono mi stuzzica. Le mie esigenze sono molto limitate: - una mappa di sfondo (meglio se più d'una fra cui scegliere) - una, forse due, mappe di overlay - un meccanismo di popup mi bastano. Grazie, un saluto, Giuliano ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Verificare se una stringa contiene dei caratteri
Il giorno gio 30 nov 2023 alle ore 18:02 Valerio Pachera ha scritto: > Ciao a tutti, devo fare una cosa relativamente, verificare se in una > stringa (*in qualsiasi punto*) ci sono certi caratteri. > > Voi cosa fareste? > p = re.compile('.*[xyz].*') Ciao. Marco. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Verificare se una stringa contiene dei caratteri
Puoi usare: >>> "ciao".count("x") 4 > On Nov 30, 2023, at 6:02 PM, Valerio Pachera wrote: > > Ciao a tutti, devo fare una cosa relativamente, verificare se in una stringa > (in qualsiasi punto) ci sono certi caratteri. > > Questo restituisce null perché la x è alla fine della stringa e non > all'inizio. > >>> p = re.compile('[xyz]') > >>> re.match(p, 'ciaox') > > Questo invece fa match perché la stringa è all'inizio. > >>> re.match(p, 'xciao') > > > Anche se non mi interessa l'output potrei usare > >>> re.findall(p, 'ciaox') > ['x'] > > e verificare se la lista è vuota o meno. > > Voi cosa fareste? > > > > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Verificare se una stringa contiene dei caratteri
Ciao Hai provato p.search(“ciaox”) ? https://docs.python.org/3/library/re.html#re.Pattern.search Federico ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] [PYTHON] Verificare se una stringa contiene dei caratteri
Ciao a tutti, devo fare una cosa relativamente, verificare se in una stringa (*in qualsiasi punto*) ci sono certi caratteri. Questo restituisce null perché la x è alla fine della stringa e non all'inizio. >>> p = re.compile('[xyz]') >>> re.match(p, 'ciaox') Questo invece fa match perché la stringa è all'inizio. >>> re.match(p, 'xciao') Anche se non mi interessa l'output potrei usare >>> re.findall(p, 'ciaox') ['x'] e verificare se la lista è vuota o meno. Voi cosa fareste? _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Roberto Python
Il giorno ven 17 nov 2023 alle ore 12:30 Roberto Mazza ha scritto: > > Ciao sono una persona disabile che vorrebbe inserirsi nel mondo del lavoro > come programmatore Python e machine learning avrei bisogno di due lezioni a > settimana di un ora ciascuno , qualcuno potrebbe aiutarmi? Forse la strada potrebbe essere quella di seguire un tutorial ad esempio (su un motore di ricerca parole chiave Python tutorial): https://docs.python.org/3/tutorial/index.html e nel frattempo provare a risolvere, con Python, dei problemi, anche semplici, che ti vengono in mente. Eventuali dubbi o difficoltà possono essere postate su questa lista, qualche aiuto lo si riceve sempre. Ciao. -- Daniele www.matematicadolce.eu Perché la scuola, invece di essere un luogo dove ci si allena a imparare, è un luogo dove si fa finta di sapere? ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Roberto Python
Ciao sono una persona disabile che vorrebbe inserirsi nel mondo del lavoro come programmatore Python e machine learning avrei bisogno di due lezioni a settimana di un ora ciascuno , qualcuno potrebbe aiutarmi? mio indirizzo email: roberto.ma...@informaticisenzafrontiere.org Grazie Roberto ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Roberto Lezione python e machine learning
Ciao sono una persona disabile e vorrei insermi nel mondo del lavoro come programmatore python e machine learning avrei bisogno di due lezione a settimana di un ora qualcuno è disposto ad aiutarmi? Grazie Roberto ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Mail o WA con python?
Il mar 19 set 2023, 16:52 Massimiliano Tornati ha scritto: Ciao Massimiliano, Ciao > io ho usato pywhatkit seguendo il tutorial del link: > Automate WhatsApp Messages With Python using Pywhatkit module - > GeeksforGeeks > <https://www.geeksforgeeks.org/automate-whatsapp-messages-with-python-using-pywhatkit-module/> > a me ha funzionato abbastanza bene. > Preso nota, grazie > > A presto > Grazie, ciao, Giuliano ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Mail o WA con python?
Ciao io ho usato pywhatkit seguendo il tutorial del link: Automate WhatsApp Messages With Python using Pywhatkit module - GeeksforGeeks <https://www.geeksforgeeks.org/automate-whatsapp-messages-with-python-using-pywhatkit-module/> a me ha funzionato abbastanza bene. A presto Il giorno lun 18 set 2023 alle ore 23:07 Giuliano Curti < giulian...@gmail.com> ha scritto: > Ciao a tutti, > ho una domanda borderline; ho guardato l'archivio fino a dicembre 2019, ma > non ho riscontrato altri post sul tema e quindi provo. > > Sto costruendo una piccola procedura di controllo di una situazione > remota; vorrei corredarla di una funzione di segnalazione in caso di > allerta; da qui la prima domanda: mi consigliate l'uso di mail o di msg WA? > > Nel primo caso userei la libreria smtplib di cui ho visto in rete diversi > articoli; > nel caso la scelta cadesse verso WA mi piacerebbe sapere quale libreria > adottare fra le diverse (pywhatkit, whatdesk, franz, ecc.) che ho > incrociato. > > Grazie, saluti, > Giuliano > > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- mobile phone : +39 348 002 8107 tel: +39 0721 1630292 Per appuntamento: https://zcal.co/massimiliano_tornati TORNATI PROJECT SRL via Callegari 9-11 61122 Pesaro (PU) P.IVA/C.F. 02533270415 site: TORNATI PROJECT <http://www.tornatiproject.com> site:https://itofood.com/ <https://api.whatsapp.com/send/?phone=393496736011=%F0%9F%98%8ATornatiProject%C2%A0%20HERE!!!%20how%20can%20help%20you%3F> <https://api.whatsapp.com/send?phone=393480028107=Hello%21+%0A+Can+you+help+me%3F+> e-mail t...@tornatiproject.com Whatapp:https://wa.me/message/G6CHK7323ZODI1 The information contained in this e-mail and any attachment is confidential. It is intended only for the named addressee(s). If you are not the named addressee(s) please notify us immediately at the e-mail t...@tornatiproject.com and then destroy this message.The copy or distribution of the contents to any other person other than the intended addressee(s) is strictly prohibited and will be punished according to the relevant laws on privacy and Intellectual Property. Think before you print! Before you print, please consider if it is necessary. Printing uses electricity, ink and paper. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Mail o WA con python?
Ciao a tutti, ho una domanda borderline; ho guardato l'archivio fino a dicembre 2019, ma non ho riscontrato altri post sul tema e quindi provo. Sto costruendo una piccola procedura di controllo di una situazione remota; vorrei corredarla di una funzione di segnalazione in caso di allerta; da qui la prima domanda: mi consigliate l'uso di mail o di msg WA? Nel primo caso userei la libreria smtplib di cui ho visto in rete diversi articoli; nel caso la scelta cadesse verso WA mi piacerebbe sapere quale libreria adottare fra le diverse (pywhatkit, whatdesk, franz, ecc.) che ho incrociato. Grazie, saluti, Giuliano ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ringraziamento (era: Consiglio su web framework)
Il lun 11 set 2023, 09:59 Yuri ha scritto: Ciao Yuri, In alternativa a certbot puoi usare dehydrated [1]. Se hai un webserver, > ricordati che al cambio certificato entro qualche giorno devi fargli > rileggere il file di conf per recepire il nuovo certificato. Oppure puoi > automatizzare la catena web (indirizzo web, gestione url, redirect, > certificati ssl, etc) con traefik [2] ma forse va un po' oltre le tue > esigenze e basta qualche script di riavvio periodico. > > [1]: https://github.com/dehydrated-io/dehydrated/ > [2]: https://traefik.io/traefik/ Non li conoscevo, guarderò, grazie. Ciao, Giuliano _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ringraziamento (era: Consiglio su web framework)
In alternativa a certbot puoi usare dehydrated [1]. Se hai un webserver, ricordati che al cambio certificato entro qualche giorno devi fargli rileggere il file di conf per recepire il nuovo certificato. Oppure puoi automatizzare la catena web (indirizzo web, gestione url, redirect, certificati ssl, etc) con traefik [2] ma forse va un po' oltre le tue esigenze e basta qualche script di riavvio periodico. [1]: https://github.com/dehydrated-io/dehydrated/ [2]: https://traefik.io/traefik/ Il 09/09/23 01:45, Andrea D'Amore ha scritto: On Thu, 7 Sept 2023 at 14:30, Giuliano Curti wrote: in attesa di affrontare, e risolvere spero, il problema certificati e passare a https letsencrypt [1] che puoi istallare sul sito del server con certbot [2] e poi passi a gunicorn le opzioni `keyfile`, `certfile` e `ca_certs` usando come valori i nomi dei file che ti ha istallato certbot. [1]: https://letsencrypt.org/ [2]: https://certbot.eff.org/ [3]: https://docs.gunicorn.org/en/stable/settings.html#ssl -- A. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ringraziamento (era: Consiglio su web framework)
On Thu, 7 Sept 2023 at 14:30, Giuliano Curti wrote: >in attesa di affrontare, e risolvere spero, il problema certificati e passare >a https letsencrypt [1] che puoi istallare sul sito del server con certbot [2] e poi passi a gunicorn le opzioni `keyfile`, `certfile` e `ca_certs` usando come valori i nomi dei file che ti ha istallato certbot. [1]: https://letsencrypt.org/ [2]: https://certbot.eff.org/ [3]: https://docs.gunicorn.org/en/stable/settings.html#ssl -- A. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Ringraziamento (era: Consiglio su web framework)
Ciao, tempo fa (maggio 2023) avevo rotto per chiedere consiglio sull'argomento. Non è una grande restituzione questa mia, ma volevo informare che poi la mia scelta è caduta su BOTTLE.py, che mi era stato segnalato qui, al quale ho aggiunto GUNICORN che dovrebbe essere più performante (multithreading) rispetto al webserver nativo. Ho pubblicato il sito per piccoli periodi sperimentali in attesa di affrontare, e risolvere spero, il problema certificati e passare a https; in quell'occasione tornerò sicuramente a chiedere suggerimenti e consigli. Volevo ringraziare tutti per la pazienza e soprattutto l'aiuto a risolvere un problema per me altrimenti arduo. Un affettuoso saluto, Giuliano ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
On Wed, 26 Jul 2023 at 23:30, Giorgio Zoppi wrote: > FastAPI uberalles ..testability gratis...swagger batteries > included...scalability paragonabile a golang..modelli con pydantic 2.0 che e > scritto in rust...tutto pronto.. È il secondo suggerimento per fastapi, ma per uno che ha "poco background di programmazione web" e vuole essenzialmente mettere uno script batch dietro un server web ha senso? -- A. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
FastAPI uberalles ..testability gratis...swagger batteries included...scalability paragonabile a golang..modelli con pydantic 2.0 che e scritto in rust...tutto pronto.. Il Mar 25 Lug 2023, 21:42 Giuliano Curti ha scritto: > On 7/24/23, Valerio Pachera wrote: > > Il giorno mer 19 lug 2023 alle ore 13:04 Marco Giusti < > > marco.giu...@posteo.de> ha scritto: > > > >> Io userei Flask, e' semplice da usare e completo > > (nelle tue stesse condizioni) qualche settimana fa, su consiglio di > qualcuno della lista che ringrazio, ho approcciato Bottle.py; non > saprei paragonarlo a Flask, però sicuramente molto semplice e di > facile apprendimento(*)(**). > > Altro aspetto che ho apprezzato, ma che probabilmente vale anche per > Flask, è la possibilità di usarlo con web server diversi, ad es. oltre > a quello interno ,waitress e gunicorn ((fra gli altri) con una > semplice opzione del comando run(). > > > Grazie della risposta. > > Sto studiando questo framework. > > (*) unica difficoltà l'impossibilità di richiamare un documento > (immagine o altro) all'interno di una pagina html; ho trovato cioè > difficoltà a capire la differenza, di cui parla il manuale di > Bottle.py senza però spiegarla, fra "working directory" e "root > directory"; ho recentemente trovato una indicazione in rete e l'ho > seguita con successo, però un pò da fessacchiotto, senza capire bene > perchè e come: approfondirò :-) > > (**) al contrario ho trovato molto comoda la funzione di %include() > gestita dai template; i javascript mi davano noie, il meccanismo di > template mi ha risolto il problema. > > ciao, > Giuliano > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
On 7/24/23, Valerio Pachera wrote: > Il giorno mer 19 lug 2023 alle ore 13:04 Marco Giusti < > marco.giu...@posteo.de> ha scritto: > >> Io userei Flask, e' semplice da usare e completo (nelle tue stesse condizioni) qualche settimana fa, su consiglio di qualcuno della lista che ringrazio, ho approcciato Bottle.py; non saprei paragonarlo a Flask, però sicuramente molto semplice e di facile apprendimento(*)(**). Altro aspetto che ho apprezzato, ma che probabilmente vale anche per Flask, è la possibilità di usarlo con web server diversi, ad es. oltre a quello interno ,waitress e gunicorn ((fra gli altri) con una semplice opzione del comando run(). > Grazie della risposta. > Sto studiando questo framework. (*) unica difficoltà l'impossibilità di richiamare un documento (immagine o altro) all'interno di una pagina html; ho trovato cioè difficoltà a capire la differenza, di cui parla il manuale di Bottle.py senza però spiegarla, fra "working directory" e "root directory"; ho recentemente trovato una indicazione in rete e l'ho seguita con successo, però un pò da fessacchiotto, senza capire bene perchè e come: approfondirò :-) (**) al contrario ho trovato molto comoda la funzione di %include() gestita dai template; i javascript mi davano noie, il meccanismo di template mi ha risolto il problema. ciao, Giuliano _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Python per bambini
Ho scritto un libro che parla di due sto utilizzo di Python. Lello Masucci artista i...@lellomasucci.net www.lellomasucci.net www.lellomasucciartstudio.it www.porsianumerica.net https://m.facebook.com/corso.professionale.pittura.olio/___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
Il giorno mer 19 lug 2023 alle ore 13:04 Marco Giusti < marco.giu...@posteo.de> ha scritto: > Io userei Flask, e' semplice da usare e completo > Grazie della risposta. Sto studiando questo framework. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Problemi con Bottle.py
Ciao a tutti, ho ancora bisogno del vs aiuto perchè ho l'impressione di affogare in un bicchier d'acqua. Il problema riguarda l'HTTP, ma lo posto qui, sul filo del lecito, perchè tocca un'apparente anomalia fra HTTP puro e HTTP servito da Bottle. Temo consista in quella differenza fra "working directory" e "root directory" citata anche in un manuale di Bottle che però non dà, ahimè, ulteriori informazioni. In sintesi, 1) ho la struttura Web -+-> myApp.py +-> html +-> img 2) in html ho il file home.html che carica una immagine della cartella img (... href='../img/pincoPallo.jpg'...) 3) con doppio click sul file mi si apre il browser (Chromium) CON l'immagine caricata 4) se lancio lo script.py che ha come root la pagine home.html, l'immagine NON compare; i sorgenti delle due pagine sono identici (infatti è la stessa pagina), però una con l'immagine e l'altra senza. Ho provato 'href='img/pincoPallo.jpg'; ho provato anche 'href='pincoPallo.jpg' e 'href='html/pincoPallo.jpg' con l'immagine nella stessa cartella html; niente, non riesco venirne a capo. Se qualcuno riesce a darmi uno spunto di indagine gli sono enormemente grato(*). Grazie, saluti, Giuliano Curti (*) è la continuazione logica di un post di qualche tempo fa su framework web; alla fine ho optato per Bottle.py (grazie a chi me lo ha segnalato) e da lì ho scoperto un mondo di framework simili e di web server per me inimmaginabile :-) ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
Avrei consigliato di usare aiohttp negli ultimi tre o quattro anni e fino a > qualche settimana fa (prima ancora, Flask) ma ormai per me non esiste più > niente oltre FastAPI. > > Usa FastAPI! :P > Concordo su FastApi, leggerissimo, essenziale, fa quel che ti serve (e tanto altro) Carlos ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
On Wed, 19 Jul 2023, 14:06 Marco Giusti, wrote: > Io userei Flask, e' semplice da usare e completo > Avrei consigliato di usare aiohttp negli ultimi tre o quattro anni e fino a qualche settimana fa (prima ancora, Flask) ma ormai per me non esiste più niente oltre FastAPI. Usa FastAPI! :P > On 19.07.2023 12:55, Valerio Pachera wrote: > > Buongiorno a tutti, vi chiedo un consiglio: > > > > vorrei realizzare una pagina web che NON richiede autenticazione, > > dove posso fare upload di un file > > deve esserci un controllo sulla dimensione del file > > una volta caricato il file lato server deve essere eseguito con > > comando che lo leggere e ritorna del testo come output; > > l'output deve essere visualizzato nella pagina. > > > > Ho un discreta confidenza con python ma poco background di > > programmazione web. > > > > Che approccio / framework mi consigliate? > > > > Grazie. > > > > ___ > > Python mailing list > > Python@lists.python.it > > https://lists.python.it/mailman/listinfo/python > > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [PYTHON] Suggerimento framework
Io userei Flask, e' semplice da usare e completo On 19.07.2023 12:55, Valerio Pachera wrote: Buongiorno a tutti, vi chiedo un consiglio: vorrei realizzare una pagina web che NON richiede autenticazione, dove posso fare upload di un file deve esserci un controllo sulla dimensione del file una volta caricato il file lato server deve essere eseguito con comando che lo leggere e ritorna del testo come output; l'output deve essere visualizzato nella pagina. Ho un discreta confidenza con python ma poco background di programmazione web. Che approccio / framework mi consigliate? Grazie. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] [PYTHON] Suggerimento framework
Buongiorno a tutti, vi chiedo un consiglio: vorrei realizzare una pagina web che NON richiede autenticazione, dove posso fare upload di un file deve esserci un controllo sulla dimensione del file una volta caricato il file lato server deve essere eseguito con comando che lo leggere e ritorna del testo come output; l'output deve essere visualizzato nella pagina. Ho un discreta confidenza con python ma poco background di programmazione web. Che approccio / framework mi consigliate? Grazie. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [SMTPLIB] 550-5.7.26 This mail is unauthenticated
Grazie mille. farò indagini. Il giorno mer 14 giu 2023 alle ore 18:36 ㎝ ha scritto: > ciao luca! > > Il giorno mer 14 giu 2023 alle ore 17:33 Luca ha > scritto: > > Voi avete qualche idea ? > > non so se c'entra, ma libero.it è uno dei pochi server postali > pubblici ad avere `-all` nello spf1 invece del più permissivo `~all` > > ``` > $ dig +short libero.it txt | grep spf > "v=spf1 ip4:213.209.8.0/21 ip4:213.209.6.249/32 ip4:213.209.17.209/32 > ip4:213.209.17.246/32 ip4:213.209.27.51/32 ip4:213.209.27.52/32 > ip4:195.140.184.104/29 ip4:195.140.184.112 ip4:195.140.184.231/32 > ip4:195.140.184.232/29" " ip4:195.140.184.240/29 ip4:141.206.150.96/29 > ip4:141.206.150.48/29 include:mail.zendesk.com include:t.contactlab.it > -all" > ``` > > e questo ad esempio causa non pochi problemi con le mailing list. > > ㎝ > > -- > THE -WARE LICENSE (Revision ㊷): > <㎝.> wrote this . As long as you retain this notice you can > do whatever you want with this stuff. If we meet some day, and you > think this stuff is worth it, you can buy me a in return. — ㎝ > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- Luca ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ricerca in un dizionario.
Qualcosa del tipo ? def find_granpa(obj, what): what = what.lower() return {k: v for k, v in obj.items() if (what in k.lower() or what in str(v).lower())} Il giorno mer 14 giu 2023 alle ore 22:02 Gabriele Battaglia < iz4...@libero.it> ha scritto: > Ciao carissimo Giovanni, ben riletto. > > No, hai capito bene. Grazie. > > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > -- Luca ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ricerca in un dizionario.
Ciao carissimo Giovanni, ben riletto. No, hai capito bene. Grazie. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ricerca in un dizionario.
Ciao carissimo Giovanni, ben riletto. No, hai capito bene. Grazie. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [SMTPLIB] 550-5.7.26 This mail is unauthenticated
ciao luca! Il giorno mer 14 giu 2023 alle ore 17:33 Luca ha scritto: > Voi avete qualche idea ? non so se c'entra, ma libero.it è uno dei pochi server postali pubblici ad avere `-all` nello spf1 invece del più permissivo `~all` ``` $ dig +short libero.it txt | grep spf "v=spf1 ip4:213.209.8.0/21 ip4:213.209.6.249/32 ip4:213.209.17.209/32 ip4:213.209.17.246/32 ip4:213.209.27.51/32 ip4:213.209.27.52/32 ip4:195.140.184.104/29 ip4:195.140.184.112 ip4:195.140.184.231/32 ip4:195.140.184.232/29" " ip4:195.140.184.240/29 ip4:141.206.150.96/29 ip4:141.206.150.48/29 include:mail.zendesk.com include:t.contactlab.it -all" ``` e questo ad esempio causa non pochi problemi con le mailing list. ㎝ -- THE -WARE LICENSE (Revision ㊷): <㎝.> wrote this . As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a in return. — ㎝ ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] [SMTPLIB] 550-5.7.26 This mail is unauthenticated
Buongiorno a tutti, Da qualche giorno mi segnalano l'errore in oggetto legato ad un mio clientino smtp. L'errore si presenta con alcuni mittenti, e però non si presenta quando usano outlook. mioclient: l...@zimbra.it > luca...@gmail.com OK mioclient: luca800gmail.com > luca...@gmail.com OK mioclient: i...@cliente.libero.it > luca...@gmail.com KO outlook: i...@cliente.libero.it > luca...@gmail.com OK Io ora direi, come anche suggerito in vari articoli, che il problema è del server di posta del cliente/mittente. Però il fatto che che outlook vada, e con il mio client no, mi fa pensare che manchi qualcosa al mio client. ... qualche tempo fa ebbi un problema simile per il *Message-id* qualche server non lo generava quindi ora la genero io... magari è qualcosa del genere. Voi avete qualche idea ? Intanto vi ringrazio in anticipo e torno a googlare. -- Luca ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ricerca in un dizionario.
perdonami tu hai una situazione tipo: { 'A': ['A','B','D'], 'B': ['E','C','H'], 'C': ['B','R','T'], } e la funzione deve tornare la chiave 'C' perche' uguale alla stringa cercata e la chiave 'B' perche' nella lista dei valori e' contenuta 'C', corretto? Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Ricerca in un dizionario.
> Il giorno 28 mag 2023, alle ore 20:41, Gabriele Battaglia > ha scritto: > > Ciao e grazie in anticipo per il vostro tempo. > > Vi sottopongo una semplice situazione. > > Io so come risolverla, ma vi chiedo se c'è un modo più elegante del mio, che > mi pare bruttino. > > > Non vi propongo del codice, rimaniamo a livello di descrizione, poi se non ci > riesco, magari arrivamo anche a degli esempi di codice. > > > Ho un dizionario. Ci sono tutte le chiavi naturalmente, e i valori sono > lunghe liste che contengono diversi tipi di dati, soprattutto stringhe e > booleani. > > > Ho una chiave di ricerca, una stringa. Devo passarla ad una funzione e questa > mi deve tornare la prima chiave del dizionario se, la parola che cerco è > compresa nella chiave stessa o in uno degli elementi contenuti nella lista di > valori di quella chiave. > > > Esempio, se cerco "nonno", la funzione mi deve tornare sia > io farei: def trova(miodict,chiave): return { k:v for k, v in miodict.items() if k==chiave or chiave in v } ma forse ho capito male il problema. Giovanni Porcari giovanni.porc...@softwell.it _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un paio di domande (Era: Consiglio su web framework)
Il mar 13 giu 2023, 12:42 Davide Muzzarelli ha scritto: Ciao Davide, grazie On 13/06/23 09:18, Giuliano Curti wrote: > > 1) . > > . > > Qui puoi approfondire per le connessioni concorrenti: > > https://www.sqlite.org/cgi/src/doc/begin-concurrent/doc/begin_concurrent.md Vado subito a vedere :-) E' meglio usare le connessioni in modalità Context Manager: ci pensa il > context manager ad effettuare il commit . > Del commit penso di non aver bisogno, all'utente consento solo il SELECT (l'utente in realtà compila dei campi e l'istruzione Ca compilo io). > > Gentili saluti, > Davide Muzzarelli > Grazie, ciao, Giuliano ___________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un paio di domande (Era: Consiglio su web framework)
On 13/06/23 09:18, Giuliano Curti wrote: 1) Connessione db. Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto? Scusami, mi sono accorto ora che usi SQLite. Con SQLite le connessioni in scrittura aprono il database bloccando altre connessioni, per cui se hai più processi o thread è necessario aprirle e chiuderle ad ogni uso. Qui puoi approfondire per le connessioni concorrenti: https://www.sqlite.org/cgi/src/doc/begin-concurrent/doc/begin_concurrent.md E' meglio usare le connessioni in modalità Context Manager: ci pensa il context manager ad effettuare il commit appena finito. Fintanto che il commit non è fatto i dati non vengono salvati effettivamente su disco. Qui hai un esempio: https://docs.python.org/3/library/sqlite3.html#sqlite3-connection-context-manager Gentili saluti, Davide Muzzarelli ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un paio di domande (Era: Consiglio su web framework)
On 13/06/23 09:18, Giuliano Curti wrote: 1) Connessione db. Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto? Sarebbe meglio avere un pool di connessioni, così si occupa esso ad aprirle solo quando necessario. Una mia sensazione da niubbo mi fa pensare che meno aperto sta il db, meno possibilità di corruzione dei dati, quindi opterei per la seconda (apertura e chiusura ogni volta) però è magari una mia sindrome da ignoranza. Non c'è mai corruzione dei dati, ci pensa il DB ad evitarle. Aprire una connessione è più costoso che usarne una già aperta. La migliore ottimizzazione è appunto un pool di connessioni, piccolo o grande che sia. 2) Cookies. Conosco poco l'argomento, ma penso di non doverne far uso e quindi non dovrei avere bisogno di segnalazioni all'utente e di richiedere / ottenere autorizzazioni. Se apri il cookie per il solo login allora non hai bisogno del banner, inserirai la conferma per la privacy in fase di registrazione dell'utente. Se apri però un qualsiasi cookie senza che l'utente abbia fatto espressamente login allora hai bisogno del banner. Hai bisogno del banner anche se carichi risorse da altre sorgenti, come ad esempio: Google Fonts, CDN di terzi, Google Analytics. Gentili saluti, Davide Muzzarelli ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Un paio di domande (Era: Consiglio su web framework)
Ciao a tutti, rispolvero questi vecchio thread per un paio di informazioni che vi devo chiedere. Seguendo i vostri consigli sono andato avanti nel mio progetto e sotto, così vanno a vederlo solo gli interessati, metto qualche notizia sul lavoro fatto. Le domande (non specifiche python, ma python è la marmellata che coinvolge tutto, quindi spero qui tollerate :-) che volevo fare sono: 1) Connessione db. Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto? Non essendoci una fine della procedura non c'è in effetti una chiusura del db, penso venga chiuso in automatico all'interruzione della procedura (bottle ha solo la funzione run() interrotta con un ctl-C). Una mia sensazione da niubbo mi fa pensare che meno aperto sta il db, meno possibilità di corruzione dei dati, quindi opterei per la seconda (apertura e chiusura ogni volta) però è magari una mia sindrome da ignoranza. 2) Cookies. Conosco poco l'argomento, ma penso di non doverne far uso e quindi non dovrei avere bisogno di segnalazioni all'utente e di richiedere / ottenere autorizzazioni. Ci sono eventualmente considerazioni normative e/o funzionali che consigliano una strada diversa? Grazie della pazienza, un saluto, Giuliano -- Lavoro fatto (cerco di essere breve, però disponibile ad ogni domanda). Ricordo che il mio obiettivo era trasformare elenchi di documenti (atti comunali) da un formato PDF ad un formato sqlite, quindi interrogabile, e successivamente offrire liberamente la consultazione online. La prima parte è essenzialmente conclusa; ho messo a punto 4+ script per 1) lettura degli elenchi PDF (PyPDF2) 2) estrazione delle informazioni significative (re) 3) validazione dei dati 4) importazione nel DB (sqlite3). Il passo 2 è costituito a sua volta da più script perché gli elenchi cambiano nel tempo; anziché scrivere un'unica procedura per coprire tutti i casi ho preferito scrivere piccole procedure ad hoc, dettaglio cmq marginale. Sto affrontando la seconda parte e qui ho scelto, come indicato da molti di voi, bottle.py. A questo punto arrivano le domande fatte sopra. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [META] Aiuto per gestione Mailman
On Tue, Jun 6, 2023 at 11:35 AM Andrea D'Amore wrote: > On Thu, 1 Jun 2023 at 11:24, Patrick Arminio > wrote: > > Stiamo pensando di fare il passaggio del server email di python.it su > Google Workspace […] > > dando uno sguardo al server sembra > > che mailman sia appunto configurato con postfix (quindi spostando il > server mail su google > > romperà le liste) > > Nel senso che temi la sostituzione di postfix con gsmtpd di Google? > Non sono per nulla esperto, ma vorrei essere sicuro di migrare il server mail di python.it a google e comunque continuare ad usare mailman Usando Google Workspace non dovreste usare qualcosa come Groups su > Google Workspace e aggiungere semplicemente i destinatari invece di > gestire voi il servizio di distribuzione? > Vorremmo continuare ad utilizzare mailman (e magari migrare al 3) e non usare google groups per le mailing list pubbliche di python italia -- Patrick Arminio _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] [META] Aiuto per gestione Mailman
On Thu, 1 Jun 2023 at 11:24, Patrick Arminio wrote: > Stiamo pensando di fare il passaggio del server email di python.it su Google > Workspace […] > dando uno sguardo al server sembra > che mailman sia appunto configurato con postfix (quindi spostando il server > mail su google > romperà le liste) Nel senso che temi la sostituzione di postfix con gsmtpd di Google? Usando Google Workspace non dovreste usare qualcosa come Groups su Google Workspace e aggiungere semplicemente i destinatari invece di gestire voi il servizio di distribuzione? -- A. _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] R: Re: I: Consiglio su libri da scegliere
Ciao Paolo, bello leggere della tua storia! Prova anche a seguire qualche tutorial su YouTube. A volte lasciarsi guidare aiuta a superare i piccoli scogli iniziali che poi diventano delle vere e proprie banalità, tranquillo e non mollare. L'idea vincente, poi, è quella di focalizzarsi su qualcosa di reale che ti restituisca dei risultati. A seconda della tua attitudine puoi trovare tutorial per integrare python con fogli elettronici tipo Google spreadsheet, o per fare ad esempio speech recognition, o per aprire un cancello con un Raspberry. Ci sono tutorials per ogni bocca, e tutti partendo da zero :) In bocca al lupo On Fri, 2 Jun 2023, 16:06 paolo giosue', wrote: > Grazie mille proverò > > Inviato da Yahoo Mail su Android > <https://mail.onelink.me/107872968?pid=nativeplacement=Global_Acquisition_YMktg_315_Internal_EmailSignature_sub1=Acquisition_sub2=Global_YMktg_sub3=_sub4=10604_sub5=EmailSignature__Static_> > > Il Ven, 2 Giu, 2023 alle 15:35, Gabriele Battaglia > ha scritto: > ___ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > > _______ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python > _______ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] R: Re: I: Consiglio su libri da scegliere
Grazie mille proverò Inviato da Yahoo Mail su Android Il Ven, 2 Giu, 2023 alle 15:35, Gabriele Battaglia ha scritto: ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python