Re: [Python] LISTE E RANDOM

2024-02-12 Per discussione Marco Beri
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

2024-02-12 Per discussione Marco Beri
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

2024-02-12 Per discussione Marco Beri
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] Questo, da Python, non me lo sarei mai aspettato

2024-02-12 Per discussione Marco Beri
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] [PYTHON] Verificare se una stringa contiene dei caratteri

2023-11-30 Per discussione Marco Beri
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] escludere righe vuote o commentate

2023-02-05 Per discussione Marco Beri
On Sun, 5 Feb 2023, 12:01 Valerio Pachera,  wrote:

>
>
> Il giorno mer 1 feb 2023 alle ore 12:43 Marco Giusti <
> marco.giu...@posteo.de> ha scritto:
>
>> for line in open(filename):
>>  if line.strip() and not line.startswith("#"):
>>  clean.append(line)
>>
>>
> Credo vada modificato così, altrimenti le righe che iniziano con degli
> spazi e seguire da un cancelletto vengono aggiunte alla lista:
>
> for line in open(filename):
>  line = line.strip()
>  if line and not line.startswith("#"):
>  clean.append(line)
>

Non solo: così correttamente aggiungi le linee "strippate" mentre lui
aggiunge le linee con gli spazi.

Ciao.
Marco.

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


Re: [Python] Problemi di deploy di web app su heroku

2023-01-21 Per discussione Marco Beri
Matteo,
non credo mi servirà, ma ci tengo a ringraziarti perché hai proprio
compreso lo spirito della mailing list, scrivendo un messaggio solo per gli
altri.

Grazie.

Ciao.
Marco.

On Sat, 21 Jan 2023, 11:45 Perini Matteo,  wrote:

> Buongiorno a tutti,
>
> dopo svariate vicissitudini con docker, gunicorn e heroku, sono riuscito a 
> fare il deploy della mia app.
>
> Per futura memoria una delle cose che mi ha fatto perdere più tempo è legata 
> a gunicorn.
>
> In particolare il deploy va fatto lanciando il comando:
>
> gunicorn app:app -b 0.0.0.0:$PORT
>
> Molte guide online suggeriscono il deploy impostando una porta fissa tipo 
> 0.0.0.0:5000 ma questo non permette ad heroku di fare il binding delle porte.
>
> Magari prima o poi serve anche a qualcun altro
>
> Grazie mille a tutti dell'aiuto.
>
> Ciao
>
> 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


Re: [Python] Da intero a stringa in base62.

2022-11-15 Per discussione Marco Beri
On Tue, 15 Nov 2022 at 15:07, Daniele Zambelli 
wrote:

> Il giorno mar 15 nov 2022 alle ore 15:02  ha scritto:
> > [...]
> > > if n<=0: return "0"
>
> Non mi pare carino che tutti i numeri negativi vengano resi come 0!
>

Daniele,
mi hai tolto le parole di tastiera ;-)

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


Re: [Python] Vorrei essere cancellata dalla mailing list.

2022-07-30 Per discussione Marco Beri
On Sat, 30 Jul 2022, 13:47 IloChab,  wrote:

> Vorrei essere cancellata dalla mailing list.
> Ringrazio e saluto cordialmente
> Licia Leanza
>

La cancellazione dalla lista è una operazione che ognuno può fare in
autonomia seguendo questo link:
https://lists.python.it/mailman/listinfo/python

Ciao.
Marco.

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


Re: [Python] Cancellazione alla mailing list.

2022-07-28 Per discussione Marco Beri
On Thu, 28 Jul 2022 at 10:27, Benedetta Brunetti <
benedetta.brune...@gmail.com> wrote:

> Vorrei che la mia mail fosse eliminata dalla mailing list.
>

Benedetta,
puoi fare da te in autonomia:
https://lists.python.it/mailman/listinfo/python

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


Re: [Python] Spam dalla mailing-list

2022-07-28 Per discussione Marco Beri
On Thu, 28 Jul 2022 at 10:06, Marco Giusti  wrote:

> Salve a tutti,
>questa mattina ho risposto a due email e per due volte ho ricevuto
> questo messaggio. C'e' niente che si puo' fare?
> Allogo uno screenshot dell'email. Credo che le mie email avessero il mio
> indirizzo come reply-to. In questa email l'ho tolto.
>

Marco,
sai che io non le ho ricevute? Anche nel folder spam non le ho trovate.

Qualcun altro le ha invece ricevute?

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


Re: [Python] throw ad un generatore: perché non riparte dall'inizio?

2022-07-28 Per discussione Marco Beri
On Thu, 28 Jul 2022 at 09:48, Marco Giusti  wrote:

> Grazie Marco,
>

Prego omonimo.

>Mi ero perso questo punto. I generator non vengono usati come
> coroutine tutti i giorni.
>

Pensa che io non li ho proprio mai usati così: sono un uomo basico :-)

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


Re: [Python] throw ad un generatore: perché non riparte dall'inizio?

2022-07-28 Per discussione Marco Beri
On Thu, 28 Jul 2022 at 08:57, Marco De Paoli  wrote:

> =
> ---><--- begin test_gen.py ---><---
> def gen():
> while True:
> try:
> yield "A"
> yield "B"
> yield "C"
> except Exception as ex:
> print("catched exception", ex)
>
>
> g = gen()
> you_can_specify_any_number_of_steps = 3
> for idx in range(you_can_specify_any_number_of_steps):
> print("result:", g.send(None))
> print("throw...")
> g.throw(Exception("BOOM"))
> print("result:", g.send(None), "*** I was expecting A and I get B, why?!?
> ***")
> print("result:", g.send(None))
>
>
Se invece di g.throw(Exception("BOOM")) scrivi print(
g.throw(Exception("BOOM")))

Ritroverai il tuo "A" :-)

Ciao.
Marco.

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


Re: [Python] Append

2022-01-13 Per discussione Marco Beri
On Thu, 13 Jan 2022 at 12:56, Yuri  wrote:

> Se trovi una libreria che supporta
> FALLOC_FL_INSERT_RANGE
>

Tra l'altro credo ci sia solo per Linux questa primitiva.

potresti farlo con le normali operazioni. Altrimenti è molto complicato,
> conviene ripensare, se possibile, la strategia per i dati. Qual è la
> tipologia di problema?
>

Concordo, ottima domanda.

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


Re: [Python] Append

2022-01-13 Per discussione Marco Beri
On Thu, 13 Jan 2022 at 11:30, Leo Lo Tito  wrote:

> Se non devi lavorare forzatamente con append() potresti usare insert() per
> aggiungere oggetti nella posizione desiderata.
>

Si parlava di file non di liste :-)

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


Re: [Python] Append

2022-01-13 Per discussione Marco Beri
On Thu, 13 Jan 2022, 09:17 Gabriele Battaglia,  wrote:

> Ciao.
>
> Esiste un modo per aprire un file in modalità append ma... facendo sì
> che il contenuto aggiunto vada all'inizio, e non appeso in fondo al file?
>


Purtroppo no. O meglio, non che io sappia.

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


Re: [Python] Proteggere un programma

2021-09-13 Per discussione Marco Beri
On Mon, 13 Sep 2021, 19:54 Marcello,  wrote:

> Salve a tutti,
> Ho la necessità di proteggere un programma compilato con pyinstaller in
> modo che venga utilizzato su un solo pc.
> Volevo fare una sorta di codice di attivazione.
> Esiste già qualche modulo che posso utilizzare?
> Ho fatto una ricerca ma non ho trovato niente.
>

Eh, non esiste nulla perché è un falso problema.

Se hai paura che il tuo cliente lo installi su più computer fai un
contratto che lo impedisca e amen.

Se invece hai paura che qualcun altro lo usi senza pagarlo, dovresti
sperare il contrario: tutti i programmi di successo sono copiati :-)

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


[Python] Add-ons Blender

2021-08-04 Per discussione Marco Beri
Cari Pythonisti,
ho un contatto che ha bisogno di una consulenza (a pagamento, ça va sans
dire) per la manutenzione e il refactoring di un add-on per Blender, già
ampiamente installato e diffuso nella relativa community.

C'è qualcuno di voi che ha competenze in tale campo e che sia seriamente
interessato a questo genere di consulenza?

In tal caso mi scriva in privato e lo metterò in contatto col contatto :-)

Grazie per il vostro tempo.

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


Re: [Python] Lettura di funzioni Latex

2021-07-21 Per discussione Marco Beri
Daniele,
ma nel file testfunzioni.tex non ci sono valori che non trovi o sbaglio?

Dovresti mettere anche un esempio negativo.

Ciao.
Marco.


On Wed, 21 Jul 2021 at 12:53, Daniele Zambelli 
wrote:

> Salve a tutti!
>
> Sto lavorando alla traduzione in html accessibile dei testi liberi
> Matematica Dolce scritti in LaTeX.
>
> Ho bisogno di isolare tutte le chiamate funzioni grafiche in modo da
> trasformare tutti i grafici dei testi in immagini png per poterli
> visualizzare in pagine html.
>
> Devo estrarre dai file .tex tutte le chiamate di funzioni definite da me.
>
> Ho realizzato una prima soluzione funzionante:
> 1. leggo, dal file dove sono definite, tutti i nomi delle funzioni.
> 2. controllo se queste funzioni sono effettivamente chiamate nel file .tex.
>
> Un testo di prova (dove le funzioni non sono grafiche, ma questo non è
> un problema) e le funzioni Python scritte si possono scaricare da:
>
> https://bitbucket.org/zambu/md2xhtml/downloads/texfunzioni.zip
>
> Purtroppo alcune funzioni hanno dei parametri. e quindi il metodo
> banale "functioncalls1" non è utilizzabile.
>
> Penso che bisognerà scorrere tutto il file .tex.
>
> Forse potrebbero essere utili le espressioni regolari?
>
> C'è qualcuno che ha voglia di aiutarmi in questo lavoretto?
>
> Grazie per l'attenzione.
>
> --
>
> Daniele
>
> www.fugamatematica.blogspot.com
>
> giusto!
> nel verso
> forse è perché non guardiamo le cose
> Quando non ci capiamo,
> ___
> 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] with... as...

2021-03-17 Per discussione Marco Beri
On Wed, 17 Mar 2021, 21:41 Vittorio Arturi, 
wrote:

> "As" dovrebbe essere (se non sbaglio) un alias: converti il nome di una
> variabile o una libreria in un nome piú piccolo, sintatticamente piú
> memorizzabile e piú "usabile" nel tuo script.
> Scrivo col beneficio del dubbio essendo un neofita assoluto.
>

Non solo per comodità.

Ammettiamo che devi importare due moduli utils, uno dalla libreria ceppa e
l'altro dalla libreria dimao. Come fai?

from ceppa import utils as ceppa_utils
from dimao import utils as dimao_utils

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


Re: [Python] list comprehension

2020-12-04 Per discussione Marco Beri
On Fri, 4 Dec 2020 at 10:45, Walter Valenti  wrote:

> Ciao,
> usa semplice domanda sulle list comprehension
> Faccio l'esempio con questo semplice codice:
>
> lista = [0,1,2,3,4,5,6,7,8,9,10,12,14,16]
> s = [n for n in lista if n%2 == 0][2]
> print(s)
>
> In questo caso l'interprete (nel mio caso 3.8.6) è "intelligente" da
> fermarsi all'elemento con indice due
> nella comprehension o verifica comunque la condizione su tutta la lista ?
>

Testa la condizione su tutta la lista.

Puoi verificarlo così:

>>> lista = [0,1,2,3,4,5,6,7,8,9,10,12,14,16]
>>> def pari(n):
... print(n)
... return n % 2 == 0
...
>>> s = [n for n in lista if pari(n)][2]
0
1
2
3
4
5
6
7
8
9
10
12
14
16
>>> print(s)
4


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


Re: [Python] Mostrare decimali solo se diversi da 0.

2020-12-03 Per discussione Marco Beri
On Thu, 3 Dec 2020, 20:45 Gabriele Battaglia,  wrote:

> Marco Ernesto, siete dei maestri.


Gabriele,
grazie ma non devi proprio.

Per lo meno non con Ernesto  (la faccina che ride riesci a leggerla col
tuo lettore?).


Posso chiederti Marco dove trovo una raccolta completa di tutto ciò che
> funziona all’interno di una f-string?
>


Qui trovi la sintassi dei formattatori che puoi usare:


https://docs.python.org/3.8/library/string.html#formatspec

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


Re: [Python] Mostrare decimali solo se diversi da 0.

2020-12-03 Per discussione Marco Beri
On Thu, 3 Dec 2020 at 18:26, Ernesto Arbitrio 
wrote:

> potresti usare qualcosa del tipo:
> print("{0}".format(str(round(x, 1) if x % 1 else int(x)))
>

Oppure:

>>> f"{6:g}"
'6'
>>> f"{6.0:g}"
'6'
>>> f"{6.5:g}"
'6.5'

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


Re: [Python] Strano errore.

2020-11-11 Per discussione Marco Beri
On Wed, 11 Nov 2020 at 14:47, Gabriele Battaglia  wrote:

> Reply to the Marco Beri's message, wrote on 11/11/2020 at 14:43:
> > Mancava una parentesi graffa chiusa alla riga 299 dopo la parentesi
> > tonda prima di commenti.
> >
> OOh signur!
> E posso chiederti come hai fatto a scoprirlo?
> E perchè l'errore viene segnalato in riga 1?
> Giusto per non ricaderci ancora.
> Ti ringrazio tantissimo mi scuso e mi vergogno per la banalità della
> cosa.
>


Ma figurati! Perché mai devi scusarti? :-)

Ho semplicemente provato a eseguirlo col risultato che incollo dopo il mio
nome.
Spero tu riesca a leggerlo.
Ciao.
Marco.



python3 ~/Downloads/IFM.py
  File "", line 1
(len(ifm[s][i]) commenti. Gestione lista)
   ^
SyntaxError: invalid syntax
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Strano errore.

2020-11-11 Per discussione Marco Beri
On Wed, 11 Nov 2020 at 14:37, Gabriele Battaglia  wrote:

>
> Ma figurati, quale privata!
> Vorrebbe essere una piccola utility per la gestione della squadra
> giovanile del browser game www.hattrick.org
> Una cosa semplicissima e ancora appena abbozzata.
> La allego.
>

Mancava una parentesi graffa chiusa alla riga 299 dopo la parentesi tonda
prima di commenti.

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


Re: [Python] Strano errore.

2020-11-11 Per discussione Marco Beri
On Wed, 11 Nov 2020 at 14:16, Gabriele Battaglia  wrote:

> Marco, grazie per la risposta.
> So che la mia prossima affermazione farà ribrezzo ma non so usare
> pastebin.
> Se ti mando in privato il semplice .py, che non ha dipendenze e non fa
> nulla di pericoloso, giuro, :) andrebbe bene lo stesso?


Gabriele,
se non è roba riservata e non sono 10 mega puoi anche mandarla qui :-)

Come preferisci.

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


Re: [Python] Strano errore.

2020-11-11 Per discussione Marco Beri
On Wed, 11 Nov 2020, 13:57 Gabriele Battaglia,  wrote:

> Ciao, mi aiutate a capire perchè?
>
> VSCode mi segna questo errore:
>
> IFM.py
>1 invalid syntax (, line 1)
>  pylint (syntax-error) [1, 18] Checkout branch/tag...
>
> Ma la riga 1 nel codice riporta:
>
> # -*- coding: UTF-8 -*-
>
> Se cancello la riga 1, l'errore rimane sempre in riga 1 carattere 18 che
> è un commento:
>
> # IFM - I Fiua ad Magnavaca
>
> Cosa può significare?



Gabriele,
l'errore è quasi certamente in una riga più sotto, puoi postare tutto il
file su pastebin?
Ciao.
Marco.
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Coding per biennio superiori

2020-11-05 Per discussione Marco Beri
On Wed, 4 Nov 2020, 08:49 Alessandro Dentella,  wrote:

>
> Ciao,
>
>
> scusate la mail parzialmente ot.
>
> Un figlio di amici, costretto a casa per una frattura, vuole avvicinarsi
> in modo
> autonomo al coding. Avete suggerimenti considerando che è in 1^ liceo?
>
>
Scratch?

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


Re: [Python] Espressione reoglare

2020-09-02 Per discussione Marco Beri
On Wed, 2 Sep 2020, 18:46 Gian Mario Tagliaretti, 
wrote:

> On Wed, 2 Sep 2020 at 18:28, Marco Beri  wrote:
>
> > Se non fosse che sarebbe uno shameless plug, potrei consigliarti un
> ottimo libretto a 7€...
>
> in che senso scusa?
> https://www.amazon.it/dp/8850326653/ref=cm_sw_em_r_mt_dp_nV8tFb541QSQ8
>
> oops
>



Ma come più di 12€... Era 7!!! Si vede che sta diventando un pezzo raro.
Correte, gente. Correte 

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


Re: [Python] Espressione reoglare

2020-09-02 Per discussione Marco Beri
On Wed, 2 Sep 2020, 18:06 Valerio Pachera,  wrote:

>
> Il giorno mer 2 set 2020 alle ore 18:02 Marco Beri 
> ha scritto:
>
>>
>> Mi piace il tuo senso di sorpresa 
>>
>
> Avendo poco tempo per studiare le RE e usandole poche volte, per me
> tendono all'alchimia :-)
>

Se non fosse che sarebbe uno shameless plug, potrei consigliarti un ottimo
libretto a 7€...



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


Re: [Python] Espressione reoglare

2020-09-02 Per discussione Marco Beri
On Wed, 2 Sep 2020, 17:49 Valerio Pachera,  wrote:

>
>
> Il giorno sab 29 ago 2020 alle ore 00:03 Marco Beri 
> ha scritto:
>
>> ...
>> Ops, mi correggo:
>>
>> \w+\b(?>
>> Sembra funzionare alla grande!
> Mo me la studio per bene.
> Grazie.
>

Mi piace il tuo senso di sorpresa 

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


Re: [Python] Espressione reoglare

2020-08-28 Per discussione Marco Beri
On Fri, 28 Aug 2020 at 19:51, Marco Beri  wrote:

> \w+\b(?

Ops, mi correggo:

\w+\b(?___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Espressione reoglare

2020-08-28 Per discussione Marco Beri
On Fri, 28 Aug 2020 at 15:58, Valerio Pachera  wrote:

> Ciao a tutti, consideriamo la seguente stringa:
> 'uno due intruso due tre uno'
> voglio matchare 'intruso'.
> A dire il vero, voglio trovare qualsiasi cosa non  sia 'uno', 'due',
> 'tre', 'quattro'.
> 'quattro' non è presente nella stringa ma potrebbe esserci.
> Anche la presenza delle altre parole "buone" è opzionale.
>
> Come strategia ho pensato a questo pattern:
>
> '((?:uno)|(?:due)|(?:tre)|(?:quattro)|(?: ))'
>
> Così faccio il match di tutte le parole "buone".
> Ora dovrei solo riuscire a negare il pattern e quindi matchare intruso.
>
> Sto testandolo la regex su https://regex101.com/ e mi sembra di essere
> sulla buona strada ma non so come fare la negazione del pattern.
> Speravo in un semplice ^ ma non è il carattere giusto.
>


\w+\b(?___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Eseguire file creapdf.py in Debian

2020-05-30 Per discussione Marco Beri
On Sat, May 30, 2020 at 5:57 PM Daniele Zambelli 
wrote:

> Morale: per eseguire un programma non solo deve avere i permessi di
> esecuzione lui, ma anche la partizione in cui si trova.
>

Questa non la sapevo...

Grazie a te :-)

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


Re: [Python] A weekend horror story

2020-05-29 Per discussione Marco Beri
On Fri, May 29, 2020 at 11:35 AM Enrico Bianchi 
wrote:

> Dato che è venerdì, e che ci si avvicina ad un fine settimana lungo (causa
> probabile ponte per molti), mi chiedevo: qual è il codice più orribile che
> avete scritto visto? Parto io con questo (in produzione):
>
>
>
> def stateDict():
>
> stateNames = ['ABSENT','IDLE','STARTED','STOPPED']
>
> return dict([(stateNames[i],i) for i in range(0,len(stateNames))])
>
>
>
> def state_by_code(code):
>
> d = stateDict()
>
> return dict([(v,k) for k,v in d.items()])[code]
>
>
>
> def showState(STATES,state):
>
> ST = dict([(str(v),k) for k,v in STATES.items()])
>
> return ST[str(state)]
>


La cosa più orrenda di tutte è che se un domani qualcuno aggiunge uno stato
in mezzo agli altri, tutti i dati salvati in precedenza smettono di essere
sensati.

In questi casi io preferisco salvare uno slug descrittivo come code e mai
un codice numerico.

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


Re: [Python] un dubbio sulle liste

2020-05-23 Per discussione Marco Beri
On Sat, 23 May 2020, 23:13 Giuliano Curti,  wrote:

>
> 2) matrici (emulate con lista di liste), ad es. una matrice 2x3
>M = [[0]*3]*2
>M = [[0,0,0],[0,0,0]]
>quando faccio M[0][1] = 5 mi trovo con M -> [[0, 5, 0], [0, 5, 0]]
> cioè non solo
>M[0][1] = 5, ma anche M[1][1] = 5;
>lo stesso si ripete ovviamente con M[0][0] e con M[0][2];
>sembrerebbe cioè che gli elementi M[*][c] rimangano collegati;
>

Perché sono la stessa lista.

Prova con:

M = [[0]*3 for n in range (2)]

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


Re: [Python] Docker, postgresql e barman: suggerimenti cercansi...

2020-05-20 Per discussione Marco Beri
On Tue, May 19, 2020 at 7:36 PM Alessandro Dentella <
sandro.dente...@gmail.com> wrote:

> On Tue, May 19, 2020 at 05:20:00PM +0200, Davide Muzzarelli wrote:
> > Questo articolo è di fine 2016 ma ancora perfettamente valido
> >
> https://thehftguy.com/2016/11/01/docker-in-production-an-history-of-failure/
>
> dall'articolo estraggo:
>
>   It takes 5 years to make a good and stable software, Docker v1.0 is only
> 28
>   months old, it didn’t have time to mature.
>
>   The hardware renewal cycle is 3 years, the distribution release cycle is
> 18-36
>   months. Docker didn’t exist in the previous cycle so systems couldn’t
> consider
>   compatibility with it. To make matters worse, it depends on many
> advanced system
>   internals that are relatively new and didn’t have time to mature either,
> nor
>   reach the distributions.
>
>   That could be a decent software in 5 years. Wait and see.
>
> Beh... quasi ci siamo, quindi è il caso di leggere articoli più attuali per
> farsi un'idea...
>

Per esempio questo, giusto di due settimane fa:
https://www.2ndquadrant.com/en/blog/local-persistent-volumes-and-postgresql-usage-in-kubernetes/

Direi che possiamo passare oltre queste paure ;-)

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


Re: [Python] Creare loop infinito che si riavvia

2020-05-19 Per discussione Marco Beri
On Tue, 19 May 2020, 15:43 Michele Gatti,  wrote:

> Ho creato un loop infinito classico while True, però ogni tanto viene
> terminato (non riesco a capire) c'è la possibiltà che si riavvii da solo?
>

Michele,
questa domanda non ha risposta e se ce l'ha è assolutamente no.

Serve contesto.

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


Re: [Python] Da un modulo risalire a dove le funzioni sono chiamate. Si può?

2020-05-18 Per discussione Marco Beri
On Mon, 18 May 2020, 21:25 NIcola Montecchiari, 
wrote:

> Grazie, maSe un povero tapino stesse usando python su Windows?
>

http://gnuwin32.sourceforge.net/packages/grep.htm

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


Re: [Python] Da un modulo risalire a dove le funzioni sono chiamate. Si può?

2020-05-18 Per discussione Marco Beri
On Mon, May 18, 2020 at 8:37 PM Pietro Brunetti  wrote:

> Ciao,
> Di solito lo faccio con un paio di grep e altre cose da bash. Se ci giochi
> un po' ci si riesce.
>

Idem.

egrep -r "\bnome_della_funzione\("


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


Re: [Python] OT: mercuria & heptapod

2020-05-14 Per discussione Marco Beri
On Thu, May 14, 2020 at 11:02 AM Carlos Catucci 
wrote:

> Lo stesso Torvald ha detto che se avesse conosciuto meglio GIT a suo tempo
> non lo avrebbe wscelto per i repo di Linux.
>

Da https://en.wikipedia.org/wiki/Git: "Original author(s) Linus Torvalds".
O Torvald è un tizio che non conosco o mi sa che hai riportato una fake
news.

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


Re: [Python] Creazione servizio windows

2020-05-08 Per discussione Marco Beri
On Fri, May 8, 2020 at 11:16 AM Michele Gatti  wrote:

> Ciao a tutti,
> ho creato piccolo script in python per salvalmi nel gestionale
> le mail dei preventivi.
> Ho creato un eseguibile per farlo girare sul mio server windos, l'ho
> aggiunto tra i servizi di windows attraverso nssm e funziona, logga tutto.
> Ma ogni tanto si ferma completamente smette di loggare e non mi da nessun
> tipo di errore, come se improvvisamente si spegnesse il servizio,quindi
> tutte le volte che succede devo riavviare il servizio.
> Qualcuno ha qualche suggerimento?
> Ho creato in gist per vedere il codice:
> https://gist.github.com/mikeleg/93aa8cdf7fc2eeb07e2a7c2731674431
>

Prova a farci vedere l'ultimo log che stampa prima di piantarsi.

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


Re: [Python] (senza oggetto)

2020-05-03 Per discussione Marco Beri
On Sun, May 3, 2020 at 3:40 PM Gollum1  wrote:

> Il giorno gio 30 apr 2020 alle ore 15:35 Marco Beri
>  ha scritto:
>
> > >>> import re
> > >>> testo = """lunghezza legno: 1000 cm
> > ... peso del tronco: 34 kg
> > ... tempo di lavorazione: 11 ore 57 minuti"""
> > >>> re.findall(r"\s(\d+)\s*(\w+)(\s\d+\s\w+)?", testo)
> > [('1000', 'cm', ''), ('34', 'kg', ''), ('11', 'ore', ' 57 minuti')]
>
> Grande Marco,
> ormai ci metti le regexp ovunque... non per niente ci hai scritto  un
> bellissimo libro... :.P
>
> questo tuo modo, avrebbe il vantaggio che si trova nelle varie tuple i
> valori e le grandezze...
> però non sarebbe possibile fare le tuple con i campi necessari? per
> esempio, eliminare il campo vuoto nelle prime due, e separare
> uletriormente la terza in '57' , "minuti"?
>

No, evitare i gruppi vuoti che io sappia non si può (però puoi ignorarli
facilmente da Python.
Questa divide in due gruppi la terza:

\s(\d+)\s*(\w+)(?:\s(\d+)\s(\w+))?


import re
testo = """lunghezza legno: 1000 cm
peso del tronco: 34 kg
tempo di lavorazione: 11 ore 57 minuti"""
print(re.findall(r"\s(\d+)\s*(\w+)(?:\s(\d+)\s(\w+))?", testo))


[('1000', 'cm', '', ''), ('34', 'kg', '', ''), ('11', 'ore', '57',
'minuti')]




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


Re: [Python] Dove sbaglio?

2020-05-01 Per discussione Marco Beri
On Fri, 1 May 2020, 10:23 Marco Beri,  wrote:

> On Fri, 1 May 2020, 02:58 Marco Beri,  wrote:
>
> Ricordo che per calcolare se 17 fosse primo (lo è) girò tutta la
>> notte.
>> Era questa qui https://en.wikipedia.org/wiki/Casio_FX-602P_series ed era
>> anche il 1981 (ero in quarta liceo). Mi era arrivato lo sghiribizzo di
>> ricomprarmela (fino a pochi anni fa ce l'avevo, ma ora l'ho perduta). Ma
>> mannaggia alla morte costa 200$: sghiribizzo passato all'istante :-)
>>
>
> Piccolo ulteriore OT.
>
> Ho chiesto nel gruppo di famiglia e mia madre mi ha mandato la foto di
> quello che ha trovato in un cassetto.
>
> Sono felice 
>

Non sono più felice. Ho ingrandito la foto ed è una calcolatrice
banalissima Casio. La tastiera uguale mi ha mandato in brodo di giuggiole a
vuoto 

Sono proprio un boomer.

Ciao.
Marco.

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


Re: [Python] Dove sbaglio?

2020-04-30 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 9:45 PM Carpediem  wrote:

> Punto 5) ho cercato in rete info sulla funzione zip ma al momento non ho
> trovato nulla di spiegato in modo semplice ma comunque approfondito: hai
> riferimenti?
>

Questo tutorial spiega la funzione zip:
https://realpython.com/python-zip-function/

Questo spiega la funzione sorted:
https://www.programiz.com/python-programming/methods/built-in/sorted

Questo spiega le lambda function: https://realpython.com/python-lambda/

Punto 6) Addirittura due soluzioni diverse: geniale ed invidiabile. Una
> riga di codice contro le circa 30 da me utilizzate
>

In realtà le due soluzioni sono proprio simili. Un po' come dire che per
sommare 10 puoi fare x + 10 oppure x - ( - 10).
Non cambia la sostanza e le due soluzioni sono in realtà la stessa.

Punto 8) Ma dove hai imparato? Avevo immaginato che mi ero infilato in
> qualcosa di complicato e la tua conferma un poco mi consola
>

Il primo programma che ho scritto usava una calcolatrice programmabile per
controllare se un numero fosse primo o meno.
Ricordo che per calcolare se 17 fosse primo (lo è) girò tutta la
notte.
Era questa qui https://en.wikipedia.org/wiki/Casio_FX-602P_series ed era
anche il 1981 (ero in quarta liceo). Mi era arrivato lo sghiribizzo di
ricomprarmela (fino a pochi anni fa ce l'avevo, ma ora l'ho perduta). Ma
mannaggia alla morte costa 200$: sghiribizzo passato all'istante :-)

Quando fai una cosa (che per di più ti piace) per 40 anni diciamo che è
proprio impossibile non diventare almeno decente in quello che fai.
Attento: non sto dicendo che ci vogliono quarant'anni per diventare come
me, anche perché sarebbe un risultato ben misero visto che ci sono
ragazzini di 15 anni che mangiano in testa a noi boomer come niente fosse,
dico solo che nel mio caso è stata più che altro una questione di tempo.

La genialità sta proprio da un'altra parte (e lo dico con una grandissima
dose di "invidia mista ammirazione" per i geni).

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


Re: [Python] Dove sbaglio?

2020-04-30 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 7:45 PM Carpediem  wrote:

> Il 30/04/2020 18:54, Marco Beri ha scritto:
>
> On Thu, Apr 30, 2020 at 6:18 PM Carpediem  wrote:
>
>> Grazie Alessandro. Mi hai fatto notare l'assenza dell'istruzione break e
>> ora che l'ho inserita, il programma termina la sua esecuzione.
>>
>> Purtroppo, non mi restituisce ciò che mi aspetto e continuo a non capire
>> perchè. L'ordinamento che cerco, è in
>>
>> relazione con l'indice dei numeri della lista di riferimento e
>> utilizzare il metodo sorted() per quel che ho visto, o compreso, non mi
>> è di aiuto.
>>
>> Partendo da questo:
>>
>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
>> 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
>>
>> [22, 0, 18, 34, 20, 7, 2, 1, 30, 22, 55, 47, 53, 49, 52, 38, 12, 41, 29,
>> 5, 11, 44, 26, 33, 40, 13, 50, 39, 4, 21, 45, 3, 53, 32, 6, 25, 55]
>>
>> volevo ottenere questo:
>>
>> [10, 36, 12, 32, .]
>>
>> [55, 55, 53, 53, 52, ..]
>>
>
> Se guardi la documentazione di cosa fanno zip e sorted (che ha un
> parametro reversed) vedrai che quello che vuoi fare è ottenibile con poche
> istruzioni:
>
> >>> riepilogo_numeri_singoli = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
> 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
> ... 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
> 35, 36]
> >>>
> >>> ritardo_numeri_singoli = [22, 0, 18, 34, 20, 7, 2, 1, 30, 22, 55, 47,
> 53, 49, 52, 38, 12, 41, 29, 5, 11, 44, 26, 33, 40, 13, 50, 39, 4, 21,
> ...   45, 3, 53, 32, 6, 25, 55]
> >>>
> >>> ritardo_numeri_singoli_ordine_decrescente , numeri_singoli_in_ordine =
> zip(*sorted(zip(ritardo_numeri_singoli, riepilogo_numeri_singoli),
> reverse=True))
> >>>
> >>> ritardo_numeri_singoli_ordine_decrescente
> (55, 55, 53, 53, 52, 50, 49, 47, 45, 44, 41, 40, 39, 38, 34, 33, 32, 30,
> 29, 26, 25, 22, 22, 21, 20, 18, 13, 12, 11, 7, 6, 5, 4, 3, 2, 1, 0)
> >>>
> >>> numeri_singoli_in_ordine
> (36, 10, 32, 12, 14, 26, 13, 11, 30, 21, 17, 24, 27, 15, 3, 23, 33, 8, 18,
> 22, 35, 9, 0, 29, 4, 2, 25, 16, 20, 5, 34, 19, 28, 31, 6, 7, 1)
> >>>
>
>
> Ciao.
> Marco.
>
>
> Grazie per il tuo tempo Marco. Scoprire che tutto il casino che ho scritto
> si può riassumere in una sola istruzione quasi mi demoralizza. Tuttavia, il
> risultato che ottengo con ciò che mi
>
> hai suggerito, non è ciò che voglio. il primo numero della lista
> ritardo_numeri_singoli_in_ordine_decrescente è il numero 55 che nella lista
> ritardo_numeri_singoli aveva indice 10 e in corrispondenza
>
> dell'indice 10 della lista riepilogo_numeri_singoli c'è il numero 10 che
> dovrebbe essere il primo numero presente nella lista numeri_singoli_in
> ordine. Il secondo 55 aveva indice 36 e quindi il numero
>
> corrispondente con tale indice nella lista riepilogo_numeri_singoli (il
> 36) dovrebbe essere il secondo numero presente nella nuova lista e così
> via. Quindi [10, 36, 12, 32 ]
>
> La tua soluzione mi rende invece un risultato diverso. Molto probabilmente
> l'intenzione di ciò che voglio ottenere è stata da me espressa poco
> chiaramente.
>
> L'istruzione sort con reverse = True l'avevo usata anche io per l'ordine
> decrescente ma l'Istruzione zip è invece a me totalmente sconosciuta.
> Cercherò di capirci qualcosa.
>
> E' comunque utilizzabile per ciò che mi serve? In caso affermativo vedere
> l'istruzione che rende il risultato corretto mi faciliterebbe molto a
> comprendere il suo funzionamento.
>
> Se ti fosse possibile, sono certo ne troverei giovamento.
>

La funzione zip fa questo:

>>> list(zip([1,2,3], ['a', 'b', 'c']))
[(1, 'a'), (2, 'b'), (3, 'c')]


Passandogli un parametro con l'* in pratica gli facciamo fare il contrario:

>>> list(zip(*[(1, 'a'), (2, 'b'), (3, 'c')]))
[(1, 2, 3), ('a', 'b', 'c')]


Ma nel tuo caso lei fa il suo dovere, dobbiamo invece modificare il
comportamento della funzione sorted:

>>> ritardo_numeri_singoli_ordine_decrescente , numeri_singoli_in_ordine =
zip(*sorted(zip(ritardo_numeri_singoli, riepilogo_numeri_singoli), key=lambda
x:(x[0],-x[1]), reverse=True))
>>> ritardo_numeri_singoli_ordine_decrescente
(55, 55, 53, 53, 52, 50, 49, 47, 45, 44, 41, 40, 39, 38, 34, 33, 32, 30,
29, 26, 25, 22, 22, 21, 20, 18, 13, 12, 11, 7, 6, 5, 4, 3, 2, 1, 0)
>>> numeri_singoli_in_ordine
(10, 36, 12, 32, 14, 26, 13, 11, 30, 21, 17, 24, 27, 15, 3, 23, 33, 8, 18,
22, 35, 0, 9, 29, 4, 2, 25, 16, 20, 5, 34, 19, 28, 31, 6, 7, 1)


In pratica diciamo alla funzione sorted di usare per l'

Re: [Python] Dove sbaglio?

2020-04-30 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 6:18 PM Carpediem  wrote:

> Grazie Alessandro. Mi hai fatto notare l'assenza dell'istruzione break e
> ora che l'ho inserita, il programma termina la sua esecuzione.
>
> Purtroppo, non mi restituisce ciò che mi aspetto e continuo a non capire
> perchè. L'ordinamento che cerco, è in
>
> relazione con l'indice dei numeri della lista di riferimento e
> utilizzare il metodo sorted() per quel che ho visto, o compreso, non mi
> è di aiuto.
>
> Partendo da questo:
>
> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
> 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
>
> [22, 0, 18, 34, 20, 7, 2, 1, 30, 22, 55, 47, 53, 49, 52, 38, 12, 41, 29,
> 5, 11, 44, 26, 33, 40, 13, 50, 39, 4, 21, 45, 3, 53, 32, 6, 25, 55]
>
> volevo ottenere questo:
>
> [10, 36, 12, 32, .]
>
> [55, 55, 53, 53, 52, ..]
>

Se guardi la documentazione di cosa fanno zip e sorted (che ha un parametro
reversed) vedrai che quello che vuoi fare è ottenibile con poche istruzioni:

>>> riepilogo_numeri_singoli = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
... 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36]
>>>
>>> ritardo_numeri_singoli = [22, 0, 18, 34, 20, 7, 2, 1, 30, 22, 55, 47,
53, 49, 52, 38, 12, 41, 29, 5, 11, 44, 26, 33, 40, 13, 50, 39, 4, 21,
...   45, 3, 53, 32, 6, 25, 55]
>>>
>>> ritardo_numeri_singoli_ordine_decrescente , numeri_singoli_in_ordine =
zip(*sorted(zip(ritardo_numeri_singoli, riepilogo_numeri_singoli),
reverse=True))
>>>
>>> ritardo_numeri_singoli_ordine_decrescente
(55, 55, 53, 53, 52, 50, 49, 47, 45, 44, 41, 40, 39, 38, 34, 33, 32, 30,
29, 26, 25, 22, 22, 21, 20, 18, 13, 12, 11, 7, 6, 5, 4, 3, 2, 1, 0)
>>>
>>> numeri_singoli_in_ordine
(36, 10, 32, 12, 14, 26, 13, 11, 30, 21, 17, 24, 27, 15, 3, 23, 33, 8, 18,
22, 35, 9, 0, 29, 4, 2, 25, 16, 20, 5, 34, 19, 28, 31, 6, 7, 1)
>>>


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


Re: [Python] Dove sbaglio?

2020-04-30 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 4:20 PM Carpediem  wrote:

> Evidentemente, anche io sono stato frettoloso nel giudicare.
>

Isidoro,
io non ho dato alcun giudizio su di te (e come avrei potuto?) ma solo
sull'apparente scopo del tuo programma mettendoti in guardia sull'inutilità
provata (questa sì) di battere il banco con l'informatica.

Ho anche aggiunto "(credo)" perché anche di quello non potevo essere certo.

Non era mia intenzione offenderti o darti impressione di averti giudicato.
Se così è stato, me ne scuso.

Per il resto tu hai giudicato me e questa invece è stata una tua caduta di
stile.

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


Re: [Python] (senza oggetto)

2020-04-30 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 3:21 PM Alessandro T.  wrote:

> Il 30/04/20 14:11, Marco Beri ha scritto:
>
> > La soluzione per te sono le regular expression:
> >
> >
> > >>> testo = """lunghezza legno: 1000 cm
> > ... peso del tronco: 34 kg
> > ... tempo di lavorazione: 11 ore 57 minuti"""
> > >>> testo
> > 'lunghezza legno: 1000 cm\npeso del tronco: 34 kg\ntempo di
> > lavorazione: 11 ore 57 minuti'
> > >>> import re
> > >>> re.findall(r"\s(\d+)\b\s*(\w+)", testo)
> > [('1000', 'cm'), ('34', 'kg'), ('11', 'ore'), ('57', 'minuti')]
> >
> >
> >
> > Potrei consigliarti un buon testo sulle regex ma sarei in conflitto di
> > interessi (e poi trovi comunque una marea di tutorial su web) :-D
> >
> > Ciao.
> > Marco.
> >
>
> Elegante come soluzione però incorretta perché il "tempo di lavorazione"
> viene spezzato in "11 ore" e "57 min". Forse uno split() sulla singola
> riga è più indicato.
>

Pronti! :-)

>>> import re
>>> testo = """lunghezza legno: 1000 cm
... peso del tronco: 34 kg
... tempo di lavorazione: 11 ore 57 minuti"""
>>> re.findall(r"\s(\d+)\s*(\w+)(\s\d+\s\w+)?", testo)
[('1000', 'cm', ''), ('34', 'kg', ''), ('11', 'ore', ' 57 minuti')]


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


Re: [Python] (senza oggetto)

2020-04-30 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 2:07 PM Paolo Miniussi 
wrote:

> Buongiorno
> molto piacere Paolo. Sono iscritto alla list di Python e ho visto che in
> questi giorni state trattando l'argomento relativo al conteggio delle
> parole.
> Ho un problema specifico relativo all'estrazione di alcune stringhe che
> seguono altre stringhe.
> In pratica ho un testo tipo questo:
> lunghezza legno: 1000 cm
> peso del tronco: 34 kg
> tempo di lavorazione: 11 ore 57 minuti
>
> Praticamente devo estrarre ciò che viene dopo le singole definizioni.
> Quindi per la prima riga devo prelevare la stringa "1000 cm" , per la
> seconda "34 kg" e via così (poi dovrò eventualmente capire se prendere solo
> il valore numero oppure tutta la stringa).
> Ho approcciato il problema usando lo slice e quindi tagliando le porzioni
> di stringa desiderate per poi successivamente trasformarle in variabili.
> Il problema è che il mio file di log che contiene queste informazioni da
> estrarre può ovviamente variare di lunghezza e quindi lo slice va a farsi
> benedire.
> Per spiegarmi, il valore della "lunghezza legno:" invece di essere 1000 cm
> può diventare 123000 cm quindi il taglio in slice mi troncherebbe il dato.
> Stavo cercando di cambiare approccio e quindi di prelevare i dati
> prendendo tutto quello che viene dopo una data stringa e prima di quella
> successiva.
> Avete qualche suggerimento?
>

La soluzione per te sono le regular expression:


>>> testo = """lunghezza legno: 1000 cm
... peso del tronco: 34 kg
... tempo di lavorazione: 11 ore 57 minuti"""
>>> testo
'lunghezza legno: 1000 cm\npeso del tronco: 34 kg\ntempo di lavorazione: 11
ore 57 minuti'
>>> import re
>>> re.findall(r"\s(\d+)\b\s*(\w+)", testo)
[('1000', 'cm'), ('34', 'kg'), ('11', 'ore'), ('57', 'minuti')]



Potrei consigliarti un buon testo sulle regex ma sarei in conflitto di
interessi (e poi trovi comunque una marea di tutorial su web) :-D

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


Re: [Python] Contare parole

2020-04-30 Per discussione Marco Beri
On Thu, 30 Apr 2020, 09:22 Pietro Brunetti,  wrote:

> testo = "Era una notte buia e tempestosa, molto tempestosa"
>
> parole = testo.split()
>

Meglio così:

import re
parole = list(re.findall(r"\b\w+\b", testo))

> 


Non penso ci siano underscore o cifre nel testo.

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


Re: [Python] Dove sbaglio?

2020-04-29 Per discussione Marco Beri
On Thu, Apr 30, 2020 at 1:16 AM Carpediem  wrote:

> Un saluto a tutti e un grazie anticipato al volenteroso che avrà avuto la
> pazienza e la capacità di darmi una soluzione.
>
Stavo cercando di darti una mano ma poi ho realizzato lo scopo (credo) che
c'è dietro al tuo script.

Siccome da giovane sono già passato da questa illusione ti do questo
suggerimento:

https://www.frasicelebri.it/frase/ii-lotto-e-la-tassa-degli-imbecilli/


Lascia perdere, le palline non hanno memoria.

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


Re: [Python] iterazione incontrollata

2020-04-26 Per discussione Marco Beri
On Sun, Apr 26, 2020 at 1:02 PM Carpediem  wrote:

> Buongiorno lista, approfittando di questo periodo, ho ripreso a cimentarmi
> col caro python e mi sono imbattutto in una situazione che non riesco a
> risolvere:
>
> ho due liste; nella prima (capitali) sono riportati i nomi delle
> principali città del mondo (una trentina) e nella seconda lista,
> (temperature) in corrispondenza di posizione di ogni capitale, la
> temperatura massima della giornata.
>
[cut]

> Suggerimenti? Soluzioni?
>
> Trasforma le due liste in un dizionario dove le chiavi sono le capitali e
i valori le temperature.

Poi stampa il dizionario ordinando per chiave:

{k: v for k, v in sorted(x.items(), key=lambda item: item[1])}

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


Re: [Python] questio da neofita

2020-04-21 Per discussione Marco Beri
On Wed, Apr 22, 2020 at 12:19 AM Lamb Don  wrote:

> Il problema è che seguendo le istruzioni fedelmente quanto lancio
> l'esecuzione non tutte le volte il compito sisulta uguale come risultato
> finale.
>

Il problema è che sbagli qualcosa.

Posta degli esempi o non potremo aiutarti.

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


Re: [Python] (senza oggetto)

2020-04-21 Per discussione Marco Beri
On Wed, Apr 22, 2020 at 12:12 AM Lamb Don  wrote:

> ciao
> Mi sono iscritto da poco attendo vostre news.
>
Don
>

Guarda, qui è un casino! Non si esce di casa da un mese e passa.

Però ogni tanto vado a fare la spesa.

Per fortuna sono calvo, quindi non sento la mancanza del parrucchiere.

That's it.

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


Re: [Python] linguaggio braille

2020-04-03 Per discussione Marco Beri
On Fri, Apr 3, 2020 at 3:58 PM Marco De Paoli  wrote:

> ciao a tutti,
>
> Il giorno ven 3 apr 2020 alle ore 13:32 Matteo Perini <
> perini.mat...@gmail.com> ha scritto:
>
>> Magari essendo un po' off topic se volete rispondetemi in privato
>>
>
> se vi è possibile mantenete pure la discussione pubblica in lista
>
> per i seguenti motivi:
> 1. tocca comunque vari aspetti tecnici interessanti
> 2. la lista non mi pare così congestionata da doverci porre il problema di
> generare eccessivo traffico
> 3. mi pare che l'argomento riguardi obiettivi di inclusività e
> partecipazione: che mi risultano essere ambiti molto cari alla comunità
> python in generale
>

Sono assolutamente d'accordo col mio omonimo :-)

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


Re: [Python] suggerimenti applicazione python

2020-04-02 Per discussione Marco Beri
On Thu, Apr 2, 2020 at 5:56 PM Andrea D'alessandro <
andrea.dalessan...@ingv.it> wrote:

> Grazie Marco,
> adesso scarico postgres e gli do un occhiata.
> Come modulo per dialogare utilizzo psycopg2?
>

Yes! :-)
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] suggerimenti applicazione python

2020-04-02 Per discussione Marco Beri
On Thu, Apr 2, 2020 at 5:21 PM Andrea D'alessandro <
andrea.dalessan...@ingv.it> wrote:

> Volevo provare mongoDB come database e Django come framework, ma credo che
> per questo tipo di dati sia meglio un db sql.
>

Unico consiglio: dimenticati mongoDB.

Postgresql tutta la vita. Sempre.

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


Re: [Python] Fwd: psycopg3: request for support

2020-03-06 Per discussione Marco Beri
Proud to be the first sponsor of Daniele!

Fatelo tutti.

Ciao.
Marco.

P.s. non ho provvigioni 

On Fri, 6 Mar 2020, 14:50 Marco De Paoli,  wrote:

> grande Daniele!!
> ... prepared statements, pure python, copy to/from con iteratori,
> transazionalità ricorsiva ... async!! ... wow
>
> un grazie sentito a Daniele per tutto il lavoro su psycopg2 e buon lavoro
> per il 3!
>
> adesso mi attivo per il founding...
> cosa che invito anche voi lista a valutare
>
> ciao!
> Marco
>
> -- Forwarded message -
> Da: Daniele Varrazzo 
> Date: ven 6 mar 2020 alle ore 11:31
> Subject: psycopg3: request for support
> To: 
>
>
> As the people who know me from the software world know, I have been
> psycopg2 maintainer for a good 10 years. During this time the library
> has become the de-facto standard for Python and PostgreSQL
> interoperation and I have learned all the good and all the bad of it
> from thousands of users. I'm proud of the good, and I would love to
> fix the bad.
>
> I have wanted to write a worthy successor of psycopg2 for a long time,
> but it hasn't been really possible because of that thing called *real
> job*. I know myself, I am a pretty single-threaded person, and the
> enthusiasm I would have poured into writing psycopg3 would have likely
> sent my employer bust.
>
> But there's good news! I don't have an employment now! :)
>
> So I could dedicate plenty of time to write psycopg3... if only I
> didn't have that background fear and need for stability that is
> screaming that I cannot enjoy the simple things of life (playing
> ukulele, making photography, writing database adapters...) but that I
> have to find another employment ASAP.
>
> Many companies have thrived thanks to the ease of development on the
> Python/Postgres platform: it would be great if they could give back
> some support to the project and help me writing a psycopg
> implementation fit for the challenges of the roaring 20s!
>
> I have written an article explaining my plans for the adapter and what
> it would look like:
> https://www.varrazzo.com/blog/2020/03/06/thinking-psycopg3/ Please let
> me know what you think, and if you would like to help me to make it
> happen please consider a contribution to keep me away from finding a
> proper job! Thank you!
>
> -- Daniele
>
>
> ___
> 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] calcolo scientifico

2020-02-25 Per discussione Marco Beri
On Tue, Feb 25, 2020 at 11:42 AM Daniele Zambelli <
daniele.zambe...@gmail.com> wrote:

> Ciao, grazie dello spunto che mi hai dato e grazie per la pazienza a
> chi è arrivato a leggere fin qui.
>

Daniele,
in realtà grazie a te per questa bellissima lezione.

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


[Python] Richiesta di aiuto

2020-02-11 Per discussione Marco Beri
On Tue, Feb 11, 2020 at 4:44 PM  wrote:

> Chiedo scusa,
>
> sono un commercialista in pensione e mi sto appassionando alla
> programmazione, mi trovo di fronte ad un problema:
>
> in un esercizio viene chiesto di introdurre un numero e moltiplicarlo per
> 3; io insrisco il numero, ad esempio 100, ma invece di trasformarlo in 300
> scrive 100100100.
>
> Non so come superare l'ostacolo.
>

Walter,
perché Python lo sta considerando una stringa e non un numero.

Prova a mettere int( ) intorno al valore prima di moltiplicarlo.

Magari la prossima volta scrivi anche il codice che hai scritto.

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


Re: [Python] Richiesta chiarimento su SyntaxWarning

2020-01-13 Per discussione Marco Beri
On Mon, Jan 13, 2020 at 11:16 AM Alessandro Dentella <
sandro.dente...@gmail.com> wrote:

>
> >Comunque da qui si capisce la pericolosità di usare "is" a sproposito
>
> Non mi è chiaro, stai suggerendo che questo sia un uso scorretto di
> "is"? A me pare corretto ed istruttivo... che intendi?
>

No, no, scusa, faccio riferimento al codice dell'OP:


if richiesta_proseguimento_partita is not "s" and
richiesta_proseguimento_partita is not "S" and
richiesta_proseguimento_partita is not "n" and
richiesta_proseguimento_partita is not "N":



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


Re: [Python] Richiesta chiarimento su SyntaxWarning

2020-01-13 Per discussione Marco Beri
On Mon, Jan 13, 2020 at 9:09 AM Giovanni Porcari <
giovanni.porc...@softwell.it> wrote:

> Marco ho fatto una prova che non mi riesco a spiegare: tu ne hai una
> ragione ?
>
> (python 3.7.5)
> >> a='xy'
> >>> b='xy'
> >>> a is b
> True
>
> >>> a='x y'
> >>> b='x y'
> >>> a is b
> False
>
> >>> a='x_y'
> >>> b='x_y'
> >>> a is b
> True
> >>>
>
> Hai spiegazioni ?
>

Te le ha già date (alla grande!) Carlo.
Per capire se "is" torna True puoi anche usare id():

>>> a="xy"
>>> b="xy"
>>> id(a)
140205877191544
>>> id(b)
140205877191544
>>> a="x y"
>>> b="x y"
>>> id(a)
140205877191600
>>> id(b)
140205877191656
>>>

Comunque da qui si capisce la pericolosità di usare "is" a sproposito :-)

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


Re: [Python] Richiesta chiarimento su SyntaxWarning

2020-01-09 Per discussione Marco Beri
Il gio 9 gen 2020, 19:57 Carpediem  ha scritto:

> Ciao a tutti,
>
> ho aggiornato la mia versione di python dalla 3.6 alla 3.8 dopodichè ho
> avviato un mio programmino che ha finora sempre girato senza indicare
> alcun errore e ora invece mi segnala su sette righe di comando (tutte
> grossomodo dello stesso tipo) il seguente avviso:
>
> SyntaxWarning: "is not" with a literal. Did you mean "!="?
>if richiesta_proseguimento_partita is not "s" and
> richiesta_proseguimento_partita is not "S" and
> richiesta_proseguimento_partita is not "n" and
> richiesta_proseguimento_partita is not "N":
>
> Il programma, se eseguito, si comporta comunque come in precedenza ma
> non comprendo per quale motivo ora vengano evidenziate tali righe di
> comando. Inoltre, la domanda è: che differenza c'è tra "!="  e "is not" ?
>


Le cose cambiano tra una versione e l'altra e le maglie si stringono.

https://www.tutorialspoint.com/What-is-difference-in-Python-operators-and-is-not

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


Re: [Python] errore(=) in esempio pubblicato nel gruppo

2019-08-23 Per discussione Marco Beri
On Fri, 23 Aug 2019, 08:06 antonio taccetti, 
wrote:

> Ritengo comunque che un esempio pubblicato, qualsiasi esempio, di
> qualsiasi linguaggio, debba essere funzionante. Altrimenti a cosa serve? Se
> uno sa non cerca gli esempi per capire e imparare.
>

Quello che dici ha senso ma solo fino a un certo punto. Qualsiasi esempio,
in qualunque settore, dà per scontato un certo livello di conoscenza.
Altrimenti dovresti partire dagli editor, anzi, della lingua italiana,
anzi, dal respirare.

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


Re: [Python] errore(=) in esempio pubblicato nel gruppo

2019-08-23 Per discussione Marco Beri
On Fri, 23 Aug 2019, 08:03 antonio taccetti, 
wrote:

Conosco javascript e php/mysql ma sono neofita di Python.
>

Antonio,
se sai programmare in javascript e in php (mysql è un database) dovresti
sapere che le variabili, prima di essere usate, devono essere definite.

Il tuo codice python usa la variabile txtfile prima di aver definito che
valore contiene questa variabile.

Ripeto, se questa spiegazione del tuo errore non è sufficiente, devi
ripassare le basi della programmazione (cos'è una variabile, come si usa,
cosa succede se la usa prima di averla inizializzata, ecc.).

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


Re: [Python] errore(=) in esempio pubblicato nel gruppo

2019-08-23 Per discussione Marco Beri
On Fri, 23 Aug 2019, 07:17 antonio taccetti, 
wrote:

>
> NameError: name 'textfile' is not defined
>

Se sai programmare in altri linguaggi, dovresti conoscere il concetto di
variabile non definita. Tu stai usando una variabile senza aver specificato
cosa contiene. Punto.

Se questa spiegazione non ti è chiara, devi forse ripartire da esempi più
semplici di programmazione generale.

Io ho Python 3.7, sarà mica cheè è per Python 2.x?
>

Non c'entra nulla.

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


Re: [Python] problemi con la funzione OPEN in ambiente MAC

2019-08-17 Per discussione Marco Beri
On Sat, 17 Aug 2019, 23:13 Francesco Tuccia, 
wrote:

ma niente, il messaggio di Python è sempre lo stesso:
>
>
>
> Traceback (most recent call last):
>
>   File "/Users/Francesco/Desktop/PYTHON /PYTHON MAGGIOLINA/MAGGIOLINA
> LEZ.12.py", line 5, in 
>
> maschi = open ("'897453/Utenti/Francesco/Scrivania/NomiMaschili.txt",
> "r")
>
> FileNotFoundError: [Errno 2] No such file or directory:
> "'897453/Utenti/Francesco/Scrivania/NomiMaschili.txt"
>

Non uso Mac ma l'errore ti aiuta. Metti il file nella stessa directory del
file MAGGIOLINA LEZ.12.py e aprilo con questo nome:
"/Users/Francesco/Desktop/PYTHON /PYTHON MAGGIOLINA/NomiMaschili.txt"

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


Re: [Python] genere (maschile o femminile) di un nome di persona

2019-08-15 Per discussione Marco Beri
On Thu, 15 Aug 2019, 12:43 Gollum1,  wrote:

>
> che ricordi le BBS... i giovani non sapranno mai cosa voleva dire...
> con il modem a 9600 baud.


Il mio primo è stato un 2400.

Mamma mia...

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


Re: [Python] dipendenze idonee ad un progetto

2019-08-14 Per discussione Marco Beri
On Wed, Aug 14, 2019 at 4:00 PM antonio taccetti 
wrote:

> Invece per le email ti chiedo se cortesemente puoi indicarmi dei link dove
> documentarmi per lettua email dal server (pop3 e/o imap) ed invio da
> software scritto con pyton..
>

https://lmgtfy.com/?q=python+connect+smtp+password

Ciao. Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Dude, it's Python

2019-08-14 Per discussione Marco Beri
Ogni tanto mi piace ricordarlo: http://itspython.com/

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] jcl parser in python

2019-08-05 Per discussione Marco Beri
On Mon, Aug 5, 2019 at 10:39 PM Balan Victor 
wrote:

> Grazie per il veloce ritorno.
> Ho guardato un po la doc di pyPeg e googlando mi sono imbattuto anche in
> un suo concorrente(pyParsing) e in ANTRL.
> Se volessi prendere un po di confidenza con concetti con il parsing in
> generale hai qualche guida/libro(magari anche in italiano) da suggerire?
>

Purtroppo niente che non sia il risultato di una googolata. Magari qualcuno
ha esperienza diretta.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] jcl parser in python

2019-08-05 Per discussione Marco Beri
On Mon, Aug 5, 2019 at 9:43 PM Balan Victor  wrote:

> Ora, prima di partire in guarda e di incartarmi in una serie infinita di
> for & if, volevo sapere se qualcuno ha qualche approccio particolare da
> consigliare.
>

https://fdik.org/pyPEG/

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] inserire codice esterno.

2019-07-11 Per discussione Marco Beri
On Fri, 12 Jul 2019, 00:16 Andrea Biolchini,  wrote:

>
> La domanda è come simulare include di PHP.
> L'unica che ho trovato è import ma non funziona.
>

Prima di criticare il modo, vuoi dirci perché secondo te non funziona? Come
l'hai scritto?

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


Re: [Python] applicativo Windows

2019-06-20 Per discussione Marco Beri
On Thu, Jun 20, 2019 at 3:11 PM Michele Gatti  wrote:

> Electron è più semplice ma l'eseguibile è pesantissimo
>

Michele,
ma questo è ancora un problema? Cosa vuol dire pesantissimo? 10 MB? 100 MB?
1 GB?

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Ricerca e sostituzione con regex

2019-06-18 Per discussione Marco Beri
On Tue, Jun 18, 2019 at 11:57 AM Daniele Zambelli <
daniele.zambe...@gmail.com> wrote:

>
> ##result = re.sub(r'\\\$', r'd_o_ll_a_ro', string, flags=re.S)
> result = re.sub(r'(? r'\[\1\]',
> string.rstrip(), flags=re.S)
> result = re.sub(r'(? r'\(\1\)',
> result, flags=re.S)
> ##result = re.sub(r'd_o_ll_a_ro', r'\\\$', string)
> return result
>


Già la parte in giallo è sbagliata. Le parentesi quadre elencano un gruppo
di caratteri che vanno ricercati (oppure non cercati se il primo carattere
è ^ ).

Non puoi pensare di mettere due caratteri uguali e pensare che la regex non
te li consideri solo quando doppi.

Purtroppo le regex sono bastarde :-(


-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Ricerca e sostituzione con regex

2019-06-17 Per discussione Marco Beri
On Mon, 17 Jun 2019, 22:57 Daniele Zambelli, 
wrote:

Mi resta ancora un problema:
>
> Nella situazione (poco probabile) che nel sorgente LaTeX ci sia la
> sequenza "\$" in questo caso il dollaro non va considerato come un
> delimitatore di formule. Come posso fare a convincere re a saltare i
> dollari preceduti da "\"?
>
> È possibile?
>

Positive and Negative Lookbehind

Lookbehind has the same effect, but works backwards. It tells the regex
engine to temporarily step backwards in the string, to check if the text
inside the lookbehind can be matched there. (?___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Ricerca e sostituzione con regex

2019-06-16 Per discussione Marco Beri
On Sun, 16 Jun 2019, 19:32 Daniele Zambelli, 
wrote:

> Becca il primo e l'ultimo dollaro ma salta quelli intermedi. So che
> Marco lo aveva spiegato benissimo, ma non ho sotto mano il suo libro e
> non mi ricordo come si risolve...
>


Alla peggio puoi iterare fino a che non sostituisci nulla.

Vai sul sicuro così 

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


Re: [Python] Ricerca e sostituzione con regex

2019-06-16 Per discussione Marco Beri
On Sun, 16 Jun 2019, 18:26 Leo Lo Tito,  wrote:

> Ciao, si potresti usare le espressioni regolari, ma sarà il caldo a farmi
> ragionare così... utilizzerei due "funzioncine" con lo split e un ciclo
> pari/dispari dove pari, inserisci l'apertura e dispari la chiusura degli
> elementi.
>


Aperta, aperta, chiusa, chiusa.

In questo caso il pari/dispari non funzionerebbe.

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


Re: [Python] Esercizio(help)

2019-05-25 Per discussione Marco Beri
On Sat, 25 May 2019, 18:50 Pietro Brunetti,  wrote:

> In effetti, se non ci mandi almeno una bozza di possibile soluzione non
> sappiamo come aiutarti.
>

Almeno potrebbe mandare il testo dell'esame, di grazia...

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


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

2019-05-16 Per discussione Marco Beri
On Thu, May 16, 2019 at 10:49 AM Gabriele Battaglia 
wrote:

> Ciao a tutti.
> Mi scuso, questo messaggio non c'entra nulla con la programmazione.
> Approfitto della vostra cortesia per chiedervi un aiuto nel fare un
> acquisto superando una difficoltà dovuta al fatto che non vedo.
> Non ho fretta, rispondete quando e se ne avete voglia.
>
> Voglio acquistare una tastiera BT da usare con più dispositivi, nello
> specifico MacOS, Windows e iOS.
> Come caratteristiche di riferimento, vanno bene quelle della Logitech
> K380 ma...
>
> Ho bisogno che sia estesa, che abbia:
> 1. il tastierino numerico;
> 2. insert, delete, home, end, pg up e pg down
> 3. il tasto applicazioni (quello per il menù contestuale, solitamente a
> destra della spaziatrice.
>

Gabriele,
mi pare che questa sia Bluetooth e abbia tutto quello che ti serve:
https://www.amazon.it/AmazonBasics-tastiera-wireless-Tastiera-silenziosa/dp/B0787Y9JQM/

Aspetta conferma anche da qualcun altro prima di comprarla :-)

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


Re: [Python] lista morta...

2019-04-30 Per discussione Marco Beri
On Tue, Apr 30, 2019 at 10:09 AM Alessio Civitillo <
alessiociviti...@gmail.com> wrote:

> Infine, qualsiasi cosa decidiate di fare, suggerirei di avere piu'
> chiarezza sui temi che si possono trattare in questo gruppo.
>

Credo che ogni domanda, a qualsiasi livello, che riguardi il linguaggio di
programmazione Python sia lecita per cui ti domando: puoi fare un esempio
di un tema che vorresti sapere a priori se è "trattabile" qui dentro?

Grazie, sono sinceramente curioso.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] lista morta...

2019-04-30 Per discussione Marco Beri
On Tue, Apr 30, 2019 at 8:58 AM Alessandro Dentella  wrote:

>Agli antipodi di stackoverflow & co. (dove pure ho avuto una brutta
>esperienza recentemente) che favorisce la costruzione stabile di
>soluzioni valide.
>

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


Re: [Python] lista morta...

2019-04-29 Per discussione Marco Beri
On Mon, 29 Apr 2019, 14:55 Marco De Paoli,  wrote:

>
> ... però, mi viene da pensare... è nota a tutti questa dissociazione di
> "Python Italia" dal canale telegram?
> ok che io il canale telegram lo frequento poco, però questa cosa mi era
> proprio sfuggita...
>

Io non lo sapevo.

Comunque sono uscito quasi subito dal canale per il suo insopportabile (a
mio parere) rapporto rumore/cose interessanti.

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


[Python] Python pandas

2019-02-05 Per discussione Marco Beri
Ragazzi,
c'è dalle parti di Milano/Varese qualcuno esperto di python pandas?

Possibilità, serissima, di lavoro in un ambiente più unico che raro (non è
dove lavoro io, tranquilli).

Scrivete a attardocarm...@gmail.com per le vostre eventuali candidature.

Buon lavoro :-)

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Eccezione concatenata che causa l'uscita del programma

2018-10-29 Per discussione Marco Beri
On Mon, Oct 29, 2018 at 10:48 AM Piergiorgio Pancino <
piergiorgio.panc...@gmail.com> wrote:

> La domanda è: perché esce? non dovrebbe essere intercettato dall'except?
> Inoltre perché l'eccezione sollevata è doppia?
>

Prova a sostituire:
logger.error("Errore nell'invio della mail ", exc_info=True)

Con:
print("Ciao amico!")

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Sintassi sconosciuta...

2018-10-16 Per discussione Marco Beri
On Tue, Oct 16, 2018 at 1:19 PM Luca  wrote:

> Il giorno mar 16 ott 2018 alle ore 13:06 Alessandro Dentella <
> san...@e-den.it> ha scritto:
>
>>   [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
>>
>> che trovate usata qui:
>>
>>
>> https://github.com/buildout/buildout/blob/master/src/zc/buildout/easy_install.py#L1740
>>
>> Che cosa fa? che senso ha usarla quando mi vengono in mente vari altri
>>
>
> Boh, anche io penso che sia un modo diverso di scrivere
>
> tmp_loc = glob.glob(os.path.join(tmp_dest, '*'))[0]
>

Eh, in realtà non è esattamente lo stesso:

>>> def ret(x):
... return x
...

>>> [a] = ret([1])
>>> a
1

>>> a = ret([1])[0]
>>> a
1


Ma:

>>> [a] = ret([1, 2])
Traceback (most recent call last):
  File "", line 1, in 
ValueError: too many values to unpack

>>> a = ret([1, 2])[0]
>>> a
1


loaddove è sicuro di avere un solo elemento nella lista.
>

Appunto: il secondo modo solleva l'eccezione ove questo non accada, l'altro
no.

C'è da dire che a me [tmp_loc] = ... fa schifo come sintassi ma magari sono
solo io ;-)

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


Re: [Python] sintax error invio lancio della palla, o qualcosa di simile

2018-07-26 Per discussione Marco Beri
Il gio 26 lug 2018, 14:45 Gian Mario Tagliaretti 
ha scritto:

Spero che farai tesoro dei consigli di un vecchio rompiballe (pelato
> come Marco Beri)


Io non sono pelato! Sono tricoleso.



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


Re: [Python] tutorial linguaggio

2018-07-14 Per discussione Marco Beri
Ho appena mandato a Gabriella l'epub di Python 3.

Qualcuno degli altri ipovedenti/non vedenti in lista ha consigli su come lo
possa leggere?

Purtoppo ho solo il PDF oltre all'epub e non è semplice convertirlo in txt.

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


Re: [Python] tutorial linguaggio

2018-07-14 Per discussione Marco Beri
Il sab 14 lug 2018, 12:30 laziale  ha scritto:

> no, da winguido no.
> ma come vedi io le metto perchè le conosco, dal cell le uso molto.
> ma sei tu il marco beri di cui mi parlava gollum tempo fa, che ha scritto
> il libro?
> se si, me lo manderesti?
> in doc dox o txt però
>

In epub non va bene?

Ciao.
Marco.

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


Re: [Python] tutorial linguaggio

2018-07-14 Per discussione Marco Beri
Il sab 14 lug 2018, 10:59 laziale  ha scritto:

> ho  capito.
> sono io che non c'entro niente con questa lista ne con python
>

Non è così.

Semplicemente, per chiunque, non solo per te, è difficile iniziare a
programmare senza un po' di competenza generica (come ti ha detto Luigi).

È come voler imparare a cucinare senza sapere cosa vuol dire pesare,
accendere il fuoco, rompere un uovo.

Non è impossibile ma è tremendamente più difficile per te e per chi ti
vuole aiutare.

Tutto qui.

Non devi prenderla sul personale perché vale per tutti.

Ciao.
Marco.

P. S. Se avessi fatto una faccina così ;-) l'avresti compresa col lettore?
È un punto e virgola seguito da meno e parentesi tonda che vuole ricordare
un omino che strizza un'occhio.

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


Re: [Python] presentazione

2018-07-14 Per discussione Marco Beri
2018-07-14 9:15 GMT+02:00 Luigi Russo :

> con tutto il rispetto ma, almeno per me, se si vuol entrare in questo
> campo sarebbe opportuno avere delle conoscenze minime su come funziona
> il sistema operativo, cosa è il terminale, chiamare un programma ecc. E
> qua non si tratta di essere ciechi o vedenti.
> Ciao ciao
>

Luigi,
sono d'accordo con te.

È difficile costruire una casa se non ci sono almeno le fondamenta.

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


Re: [Python] richiesta cancellazione

2018-05-08 Per discussione Marco Beri
On Tue, May 8, 2018 at 6:39 PM, Valentina Masi 
wrote:

> Gentili,
> chiedo la cancellazione del mio indirizzo email dalla vostra mailing list.
> Saluti
> Valentina
>

Valentina,
devi farlo tu in autonomia: https://lists.python.it/mailman/listinfo/python

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Corsi python

2018-05-05 Per discussione Marco Beri
Il sab 5 mag 2018, 14:17 Ernesto Arbitrio <ernesto.arbit...@gmail.com> ha
scritto:

>
> 2018-05-05 12:28 GMT+02:00 Marco Beri <marcob...@gmail.com>:
>
>> Il sab 5 mag 2018, 10:24 fabrizio forgillo <for...@live.com> ha scritto:
>>
>>> Salve..domanda sicuramente posta miliardi di volte..mi indicate qualche
>>> corso base su python anche a pagamento
>>>
>>
>> Fabrizio,
>> questo una volta era a pagamento, ora è gratis. Ma se vuoi mandami pure
>> dei soldi 
>>
>> http://www.youtube.com/playlist?list=PLC4DEDAECF24B855D
>>
>> È diviso in 28 lezioni da dieci minuti, puoi saltare dove preferisci. È
>> Python 2 ma la differenza con 3 non è eclatante per chi vuole iniziare.
>>
>> Ciao.
>> Marco.
>>
> non per screditardi caro Taifu ma c'è anche questo :D
> https://www.programmareinpython.it/
>

Screditarmi?

Ma questo mi sa che è molto meglio.

Non conoscevo, grazie. Girerò questo da oggi.

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


Re: [Python] Corsi python

2018-05-05 Per discussione Marco Beri
Il sab 5 mag 2018, 10:24 fabrizio forgillo  ha scritto:

> Salve..domanda sicuramente posta miliardi di volte..mi indicate qualche
> corso base su python anche a pagamento
>

Fabrizio,
questo una volta era a pagamento, ora è gratis. Ma se vuoi mandami pure dei
soldi 

http://www.youtube.com/playlist?list=PLC4DEDAECF24B855D

È diviso in 28 lezioni da dieci minuti, puoi saltare dove preferisci. È
Python 2 ma la differenza con 3 non è eclatante per chi vuole iniziare.

Ciao.
Marco.

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


[Python] Xkcd again

2018-04-30 Per discussione Marco Beri
Ma questa volta ci critica... ;-)

https://xkcd.com/1987/

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Permessi strani con Django

2018-03-26 Per discussione Marco Beri
Il lun 26 mar 2018, 14:20 Fundor 333  ha scritto:

>
>>> Ma questo non ti basta?
>>
>>
>> https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_queryset
>>
>> Ciao.
>> Marco.
>>
>
> Non va proprio bene. La funzione che mi hai passato mi torna tutte le
> istanze che posso editare nell'admin. Io devo vedere solo alcune "istanze"
> di un modello specifico dato i permessi dell'utente loggato, non dell'admin
> che deve vedere e editare tutto
> Grazie comunque
>

Guarda che credo tu non sappia bene cosa fa get_queryset 
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Permessi strani con Django

2018-03-26 Per discussione Marco Beri
Il lun 26 mar 2018, 13:33 Fundor 333  ha scritto:

> Ciao a tutti e torno con le domande strane.
>
> Questa volta devo riuscire ad avere una serie di permessi "dinamici" con
> Django e/o Django-guardian (posso anche installare altro ma è questo quello
> che uso).
>
> In pratica io devo avere una query che cambia in base ai permessi
> dell'utente quello che torna come insieme di dati.
>
> Esempio: ho dei contatti (modello) che sono divisi in reparti (altro
> modello). In base ai permessi dell'utente (assegnati da un admin umano) io
> devo ritornare a questo utente solo i contatti dei reparti che è abilitato
> a vedere:
> - Contabilità vede tutti
> - La portineria vede solo i numeri interni
> - Biglietterie solo i numeri dei responsabili
> - etc...
>
> E se qualcuno ha anche un modo per generare in automatico per tutti i
> modelli anche i permessi di "read" visto che ho già "new, edit e delete" al
> Pycon riceverà un grossissimo abbraccio
>

Ma questo non ti basta?

https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_queryset

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


Re: [Python] ethernet ip

2018-03-21 Per discussione Marco Beri
Il 21 mar 2018 17:38, "Giorgio"  ha scritto:

Ciao a tutti, qualcuno è a conoscenza di una libreria per comunicare con
device ( tipo PLC ) in ethernet ip?


Incollo un mio messaggio del 2016. Vedo che ora c'è anche
https://pypi.python.org/pypi/Simply.

Ero abbastanza certo ma ho comunque verificato: esiste una libreria Python
per colloquiare col protocollo Snap 7: http://python-snap7.
readthedocs.org/en/latest/

Oltre a parlare come client con un PLC può anche "fingere" di essere lui
stesso un server: http://python-snap7.readthedocs.org/en/latest/server.html
Questo potrebbe essere utile per testare un PLC che deve parlare con un
altro PLC senza averne per forza due già pronti.
C'è anche la modalità Partner per un colloquio peer2peer: http://python-
snap7.readthedocs.org/en/latest/partner.html

La libreria è molto aggiornata e gli ultimi commit sono del gennaio 2016:
https://github.com/gijzelaerr/python-snap7/commits/master


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


Re: [Python] Da timedelta a data.

2018-03-20 Per discussione Marco Beri
2018-03-20 23:06 GMT+01:00 Gabriele Battaglia :
>
> > On 20 Mar 2018, at 22:54, Pietro Brunetti  wrote:
> >
> > Poi farci delle operazioni matematiche con gli oggetti datetime e
> ottieni oggetti datetime. Perché come dice il nome i timedelta sono delle
> differenze di tempo.
> >
> Non mi risulta, Pietro, ma potrei sbagliare: se faccio somme e sottrazioni
> con 2 oggetti datetime.datetime, ottengo soltanto dei timedelta e poi da
> quelli devo ricostruire la sturata anni/mesi/giorni/ore/minuti/secondi.
>
> Mi sfugge qualcosa?
>

pip install dateutil

Poi usi relativedelta:

>>> from datetime import date
>>> from dateutil.relativedelta import relativedelta
>>> relativedelta(date.today(), date(1964, 9, 23))
relativedelta(years=+53, months=+5, days=+25)


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


  1   2   3   4   5   6   7   8   9   10   >