Re: [Python] alternative ad eval
Ehm.. con la grammatica del linguaggio che vuoi parsare. Ma lascia che te lo dica... secondo me rischi di ficcarti in un mezzo ginepraio. Il fatto che tu abbia bisogno di questo secondo campo cosi' flessibile non ottimo indice che le cose saranno facili. Per il resto puoi definirti un linguaggio che fa tutto quello che ti pare, ma non sarebbe meglio limitarsi ad un set di check prefabbricati? ho provato a fare qualcosa http://pastebin.com/6038GUEP# però come parser immagino non intendevi proprio questo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
Balan Victor wrote: Ho un array di tuple cosi formate da 3 elementi: (int|float|boolean|string|datetime|..., string, boolean). Es: [ (10, value = 1, True), (Ciao, o in value, True), (True, value == False, False), (92.5f, value = 92.0f, True), ] Il primo elemento della tupla può essere qualunque tipo o classe di python. Il secondo elemento è una espressione da applicare sulla tupla e che deve restituire True or False(value si riferisce al primo elemento della tupa) Il terzo elemento è il risultato dell'operazione appena sopra. A intervalli regolari ho bisogno di scorrere l'array sopra e aggiornare il valore del terzo elemento. Ho pensato di usare eval in questo modo: def check_status(value, eval_string): rc = eval(eval_string) if rc is not bool: raise WrongEvalString() return rc Conosco i rischi di eval e vorrei evitare di usarlo però non riesco a trovare nulla di altrettanto semplice e con le stesse potenzialità. NB: In realtà la stringa che fa la validazione può essere impostata solo da qualcuno di autorizzato quindi il rischio che mi cancelli tutto il fs non ci dovrebbe essere, e non dovrebbero nemmeno fare operazioni del tipo value ** value però in ogni caso vorrei trovare qualcosa che mi metta al sicuro da questo tipo di operazioni. grazie Alcune librerie ci sono, ad esempio: https://pypi.python.org/pypi/RestrictedPython ce ne sono anche altre: cerca restricted python su pypi. -- Riccardo Lemmi ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
2014-03-18 8:14 GMT+00:00 Balan Victor balan.vict...@gmail.com: però come parser immagino non intendevi proprio questo Siccome a naso quello che vuoi fare e' un semplice expression language, hai comunque bisogno, a mio avviso di un vero parser. Davvero, e' roba facile da scrivere, una volta che usi la libreria giusta, e' piu' robusto e quando si spacca si capisce meglio perche'. Non sono sicuro che RestrictedPython sia *veramente* sicuro. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
On 17/03/2014 22:57, Balan Victor wrote: Ho un array di tuple cosi formate da 3 elementi: (int|float|boolean|string|datetime|..., string, boolean). Es: [ (10, value = 1, True), (Ciao, o in value, True), (True, value == False, False), (92.5f, value = 92.0f, True), ] Il primo elemento della tupla può essere qualunque tipo o classe di python. Il secondo elemento è una espressione da applicare sulla tupla e che deve restituire True or False(value si riferisce al primo elemento della tupa) Il terzo elemento è il risultato dell'operazione appena sopra. A intervalli regolari ho bisogno di scorrere l'array sopra e aggiornare il valore del terzo elemento. IMHO Sarebbe sempre bello avere un po' più di contesto in questi casi per capire qual è l'obbiettivo finale... Tipo in che contesto girerà il codice, chi/cosa fornirà input, quale sarà l'output ecc.. Almeno, ovviamente, che non sia un quesito puramente accademico :) Lorenzo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
Siccome a naso quello che vuoi fare e' un semplice expression language, hai comunque bisogno, a mio avviso di un vero parser. Davvero, e' roba facile da scrivere, una volta che usi la libreria giusta, e' piu' robusto e quando si spacca si capisce meglio perche'. quindi pyparsing? Facili da scrivere ... se uno ha basi solide sull'argomento. Io che, a parte un po su wikipedia, sono completamente ignorante nella materia mi trovo un po spaesato XD ora cmq provo a vedere se riesco a creare qualcosina con pyparsing. Alcune librerie ci sono, ad esempio: https://pypi.python.org/pypi/RestrictedPython ce ne sono anche altre: cerca restricted python su pypi. Ho dato un'occhiata e, anche se fosse sicuro al 100%, non mi risolve il secondo problema: ossia evitare operazioni del tipo 1 * 10. Come ho scritto nel primo post gli utenti che generano queste stringhe sono solo utenti autorizzati. Quindi è difficile che facciano cose stupide. E' molto più facile che commettano errori che possano saturare la macchina... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
Sarebbe interessante vedere i requisiti per capire se prevedano effettivamente che l'utente possa passare qualunque oggetto python (magari da loro definito)... comunque: 2014-03-18 9:14 GMT+01:00 Balan Victor balan.vict...@gmail.com: Ehm.. con la grammatica del linguaggio che vuoi parsare. Ma lascia che te lo dica... secondo me rischi di ficcarti in un mezzo ginepraio. Il fatto che tu abbia bisogno di questo secondo campo cosi' flessibile non ottimo indice che le cose saranno facili. Per il resto puoi definirti un linguaggio che fa tutto quello che ti pare, ma non sarebbe meglio limitarsi ad un set di check prefabbricati? ho provato a fare qualcosa http://pastebin.com/6038GUEP# però come parser immagino non intendevi proprio questo Come parser è parecchio semplicistico, ma se davvero hai sempre solo op space value può bastare ovviamente, perdi la possibilità di usare l'intera algebra booleana se ti limiti ad una sola operazione per espressione piccoli appunti: - usa split() senza argomenti, se è possibile che op e value siano separati da più caratteri di whitespace - `True if re.match(pattern, _string) else False` non è necessario, basta `bool(re.match(pattern, _string))`... potresti scrivere str: { 'match': lambda *a: bool(re.match(*a)) } - type(a) e type(True) non restituiscono string e boolean, ma str e bool per il resto, se questa non è un'api e l'utente ci deve interagire tramite un file di configurazione/una gui... come ottieni il value da confrontare? mi spiego: dovresti parsare anche il valore fornito eval(string.split()[0]) ovviamente non è sufficiente per impedire che vengano fornite delle espressioni, invece che dei semplici valori, visto che questo filtrerebbe anche stringhe contenenti spazi dai un'occhiata al modulo ast: http://docs.python.org/3.4/library/ast.html -- xmpp: berda...@gmail.com bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just for signing commits) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
2014-03-17 22:57 GMT+01:00 Balan Victor balan.vict...@gmail.com: Ho un array di tuple cosi formate da 3 elementi: (int|float|boolean|string|datetime|..., string, boolean). Es: [ (10, value = 1, True), (Ciao, o in value, True), (True, value == False, False), (92.5f, value = 92.0f, True), ] Il primo elemento della tupla può essere qualunque tipo o classe di python. Il secondo elemento è una espressione da applicare sulla tupla e che deve restituire True or False(value si riferisce al primo elemento della tupa) Il terzo elemento è il risultato dell'operazione appena sopra. A intervalli regolari ho bisogno di scorrere l'array sopra e aggiornare il valore del terzo elemento. Ho pensato di usare eval in questo modo: def check_status(value, eval_string): rc = eval(eval_string) if rc is not bool: raise WrongEvalString() return rc Conosco i rischi di eval e vorrei evitare di usarlo però non riesco a trovare nulla di altrettanto semplice e con le stesse potenzialità. eval è relativamente sicuro, dato che può eseguire solo espressioni, e non statement completi come exec. Lo puoi rendere ancora più sicuro limitando il namespace, ad esempio: def expand_template(template, **kwargs): from string import Template return Template(template).substitute(**kwargs) def eval_expression(expr_literal, value): expr = expand_template(expr_literal, value=value) return eval(expr, {}, {}) def check_status(value, eval_string): rc = eval_expression(eval_string, value) if rc is not True: raise WrongEvalString() check_status(10, $value == 10) Questo però non basta, devi avere il controllo anche su value, ad esempio accettando solo stringhe secondo un dato protocollo, di cui farai il parsing e validazione. Il mio protocollo preferito è Typed NetStrings: typeidlen:literal Ad esempio per un intero: i3:777 tale protocollo è facile da leggere, parsare e validare (perchè verboso) NB: In realtà la stringa che fa la validazione può essere impostata solo da qualcuno di autorizzato quindi il rischio che mi cancelli tutto il fs non ci dovrebbe essere, e non dovrebbero nemmeno fare operazioni del tipo value ** value però in ogni caso vorrei trovare qualcosa che mi metta al sicuro da questo tipo di operazioni. Riguardo operazioni non autorizzate sei abbastanza al sicuro, grazie al fatto che eval esegue solo espressioni, ed al fatto che valuti solo oggetti a te noti. In caso di dubbi, leggi la grammatica di Python per sapere cosa può contenere una espressione. Riguardo value ** value temi un attacco di tipo DoS? In questo caso se vuoi limitare anche le possibili espressioni, l'unica alternativa e scriverti un tuo parser, come ti hanno già suggerito. Dai una occhiata al modulo ast di Python. Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
Riguardo value ** value temi un attacco di tipo DoS? No no questo codice mi serve nella parte backend. Temo che un utente, per semplice distrazione, faccia andare in crash l'applicazione. In questo caso se vuoi limitare anche le possibili espressioni, l'unica alternativa e scriverti un tuo parser, come ti hanno già suggerito. Dai una occhiata al modulo ast di Python. L'ho guardato ma per me è ancora il buio completo ... ho bisogno di farmi le basi ... in ogni caso sto provando con pyparsing adesso XD ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
2014-03-18 13:39 GMT+01:00 Manlio Perillo manlio.peri...@gmail.com: eval è relativamente sicuro, dato che può eseguire solo espressioni, e non statement completi come exec. Lo puoi rendere ancora più sicuro limitando il namespace, ad esempio: purtroppo, non basta: http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html http://nedbatchelder.com/blog/201302/finding_python_3_builtins.html Questo però non basta, devi avere il controllo anche su value, ad esempio accettando solo stringhe secondo un dato protocollo, di cui farai il parsing e validazione. Il mio protocollo preferito è Typed NetStrings: typeidlen:literal Ad esempio per un intero: i3:777 tale protocollo è facile da leggere, parsare e validare (perchè verboso) sembra simile a un Type-Length-Value http://en.wikipedia.org/wiki/Type-length-value se possibile, preferite linguaggi regolari ad un TLV o altro formato context-sensitive http://www.youtube.com/watch?v=v8F8BqSa-XY http://langsec.org -- xmpp: berda...@gmail.com bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just for signing commits) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
IMHO Sarebbe sempre bello avere un po' più di contesto in questi casi per capire qual è l'obbiettivo finale... Tipo in che contesto girerà il codice, chi/cosa fornirà input, quale sarà l'output ecc.. Almeno, ovviamente, che non sia un quesito puramente accademico :) Attualmente lo scopo è solo quello di valutare la fattibilità di un piccolo software di monitoraggio. Su carta funziona tutto benissimo e ora sto cercando di capire quali sono gli strumenti migliori per implementarlo: dal database al framework da usare per l'application server, passando dalla possibilità di creare soglie(anche dinamiche) e altre cose di questo tipo. Eval veniva perfetto per dare la possibilità all'utente di creare le proprie soglie. I valori vengono aggiornati a intervalli più o meno regolari da alcuni agenti che si occupano di recuperare i dati e di spedirli al repository centrale. Una volta sul repository centrali i dati vengono valutati e in base al stinga di valutazione e al risultato dell'operazione di eval si possono innescare diversi scenari. PS: Ho già pensato a strumenti tipo Nagios C ma non fanno al caso mio. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
2014-03-18 13:43 GMT+01:00 Balan Victor balan.vict...@gmail.com: Riguardo value ** value temi un attacco di tipo DoS? No no questo codice mi serve nella parte backend. Temo che un utente, per semplice distrazione, faccia andare in crash l'applicazione. Attacco DoS inconsapevole :) In questo caso la soluzione semplice è eseguire il codice in un processo separato, limitando l'utilizzo della CPU (ci sono diversi metodi più o meno semplici e/o efficaci, a seconda del sistema operativo). In questo caso se vuoi limitare anche le possibili espressioni, l'unica alternativa e scriverti un tuo parser, come ti hanno già suggerito. Dai una occhiata al modulo ast di Python. L'ho guardato ma per me è ancora il buio completo ... ho bisogno di farmi le basi ... in ogni caso sto provando con pyparsing adesso XD Non è una cosa banalissima, io proverei prima con qualcosa di esistente come ho scritto sopra. Tra l'altro se vuoi proteggerti da codice che può caricare troppo la CPU devi forse prevedere diverse regole, e rischi di perderci tempo. Inoltre, nel codice che hai postato, dovresti proteggerti dalle eccezioni, ad esempio la divisione per zero. Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] So che non e' proprio In Topic pero' ....
Leggevo sulla lista Erlug, ad opera del baldo pythonista Davide Alberani (che magari qualcuno di voi ha il piacere di conoscere) che L'evento è inserito all'interno dei warm up per l'hackmeeting 2014, incontro delle controculture digitali che si terrà a bologna dal 27 al 29 giugno negli spazi di xm24: http://it.hackmeeting.org/ Chi fosse interessato e' avvisato. Per gli altri, come si diceva un tempo in Fidonet: commenti, proposte e insulti in matrix (aka privato). Carlos -- Coloro che sognano di giorno sono uomini pericolosi, perche' sono capaci di recitare a occhi aperti il loro sogno fino a renderlo possibile. Ed e' questo che feci anch'io. - (T.E. Lawrence) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
2014-03-18 14:02 GMT+01:00 Dario Bertini berda...@gmail.com: 2014-03-18 13:39 GMT+01:00 Manlio Perillo manlio.peri...@gmail.com: eval è relativamente sicuro, dato che può eseguire solo espressioni, e non statement completi come exec. Lo puoi rendere ancora più sicuro limitando il namespace, ad esempio: purtroppo, non basta: http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html http://nedbatchelder.com/blog/201302/finding_python_3_builtins.html Grazie, avevo dimenticato di disabilitare i builtins, ma sembra che ancora non basti. Allora, sempre usando gli strumenti già disponibili in Python, consiglio all'OP di guardare il codice della funzione ast.literal_eval. Esegue un eval, ma restituisce l'AST del codice compilato, in modo da validare il codice da eseguire. Risparmi un bel pò di tempo rispetto a pyparsing, perchè usi la grammatica di Python. Lo svantaggio è che probabilmente devi gestire più casi. Questo però non basta, devi avere il controllo anche su value, ad esempio accettando solo stringhe secondo un dato protocollo, di cui farai il parsing e validazione. Il mio protocollo preferito è Typed NetStrings: typeidlen:literal Ad esempio per un intero: i3:777 tale protocollo è facile da leggere, parsare e validare (perchè verboso) sembra simile a un Type-Length-Value http://en.wikipedia.org/wiki/Type-length-value Direi che è quello. se possibile, preferite linguaggi regolari ad un TLV o altro formato context-sensitive http://www.youtube.com/watch?v=v8F8BqSa-XY http://langsec.org TLV non mi sembra abbia i problemi riportati in quei paper, ma non ho approfondito. Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] or
dalla lista row devo togliere alcune word in posizione variabile per costruire un' alta lista Per come funziona or in python questo sotto non va stamp=[] for word in row: if (word != ' ' , or word != 'pippo' or word != 'pluto'): stamp.append(word) print(stamp) qual' è la migliore soluzione? grazie -- Filippo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
2014-03-18 16:46 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: dalla lista row devo togliere alcune word in posizione variabile per costruire un' alta lista Per come funziona or in python questo sotto non va stamp=[] for word in row: if (word != ' ' , or word != 'pippo' or word != 'pluto'): stamp.append(word) print(stamp) qual' è la migliore soluzione? exclude = {'', 'pippo', 'pluto'} # soluzione veloce: print set(row) - exclude # oppure: for word in row: if word not in exclude: stamp.append(word) Questo se ho capito correttamente quello che vuoi fare Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
2014-03-18 16:46 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: dalla lista row devo togliere alcune word in posizione variabile per costruire un' alta lista Per come funziona or in python questo sotto non va Or in python funziona come in tutto il resto del mondo. E come dovrebbe funzionare secondo te? stamp=[] for word in row: if (word != ' ' , or word != 'pippo' or word != 'pluto'): stamp.append(word) print(stamp) qual' è la migliore soluzione? Togliere la virgola dopo ' ' Comunque il modo migliore è, a mio parere, usando la list comprehension: stamp = [word for word in row if word not in (' ', 'pippo', 'pluto')] Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
Il giorno Tue, 18 Mar 2014 16:53:42 +0100 Marco Beri marcob...@gmail.com ha scritto: 2014-03-18 16:46 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: Or in python funziona come in tutto il resto del mondo. E come dovrebbe funzionare secondo te? or ( in logica v dal vel latino) dovrebbe significare per una lista di oggetti : uno o più fino anche a tutti . Nel caso specifico : se word NON è ' ', 'pippo' , 'pluto' appendi il suo contenuto a stamp Anche togliendo in python la , non ottengo una lista che non contiene ' ', 'pippo' , 'pluto' io non sono un programmatore ma mi sembra di ricordare che in Dbase e clipper ( vecchio dos) una serie di or otteneva questo effetto. -- Filippo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
Il giorno 18 marzo 2014 17:25, Filippo Dal Bosco - filippo.dalbo...@whiteready.com ha scritto: Il giorno Tue, 18 Mar 2014 16:53:42 +0100 Marco Beri marcob...@gmail.com ha scritto: 2014-03-18 16:46 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: Or in python funziona come in tutto il resto del mondo. E come dovrebbe funzionare secondo te? or ( in logica v dal vel latino) dovrebbe significare per una lista di oggetti : uno o più fino anche a tutti . Nel caso specifico : se word NON è ' ', 'pippo' , 'pluto' appendi il suo contenuto a stamp Anche togliendo in python la , non ottengo una lista che non contiene ' ', 'pippo' , 'pluto' io non sono un programmatore ma mi sembra di ricordare che in Dbase e clipper ( vecchio dos) una serie di or otteneva questo effetto. -- Filippo ___ Non sono un programmatore python ma, se leggi bene quell'if è: se la parola non è pippo o non è pluto , la condizione è sempre vera. Perché una delle due è sempre vera. La più comoda sono le list comprension come diceva Marco. Altrimenti se usi l'or devi cercare l'uguaglianza, altrimenti usa l'operatore and con la diseguaglianza. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
2014-03-18 17:25 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: or ( in logica v dal vel latino) dovrebbe significare per una lista di oggetti : uno o più fino anche a tutti . Nel caso specifico : se word NON è ' ', 'pippo' , 'pluto' appendi il suo contenuto a stamp Anche togliendo in python la , non ottengo una lista che non contiene ' ', 'pippo' , 'pluto' La virgola andava tolta perché era un errore, non per far funzionare il resto. io non sono un programmatore ma mi sembra di ricordare che in Dbase e clipper ( vecchio dos) una serie di or otteneva questo effetto. Sbagli: ho programmato molti anni in Clipper e ti posso garantire che l'OR funzionava come in Python :-) Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
On 18/03/2014 17:25, Filippo Dal Bosco - wrote: Il giorno Tue, 18 Mar 2014 16:53:42 +0100 Marco Beri marcob...@gmail.com ha scritto: 2014-03-18 16:46 GMT+01:00 Filippo Dal Bosco - filippo.dalbo...@whiteready.com: [...] una lista che non contiene ' ', 'pippo' , 'pluto' Allora vuoi che tutte e tre le condizioni siano soddisfatte allo stesso tempo: quindi un and.. per esempio l = [' ', 'pippo', 'pluto', 'peppa pig', 'mario', 'foo', 'homer'] new_list = [] for word in l: if word != ' ' and word != 'pippo' and word != 'pluto': print word, oh yes! new_list.append(word) else: print word, 'bye bye..' bye bye.. pippo bye bye.. pluto bye bye.. peppa pig oh yes! mario oh yes! foo oh yes! homer oh yes! new_list ['peppa pig', 'mario', 'foo', 'homer'] Qualche altro esempio... word == 'pippo' word == ' ' or word == 'pippo' or word == 'pluto' True word != ' ' or word != 'pippo' or word != 'pluto' True word2 = 'mario' word2 == ' ' or word == 'pippo' or word == 'pluto' True word2 == ' ' or word2 == 'pippo' or word2 == 'pluto' False word2 != ' ' or word2 != 'pippo' or word2 != 'pluto' True word2 != ' ' and word2 != 'pippo' and word2 != 'pluto' True not word == ' ' or not word == 'pippo' or not word == 'pluto' True not word2 == ' ' or not word2 == 'pippo' or not word2 == 'pluto' True Ciao Lorenzo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
+1 On 14-03-18 11:53 AM, Marco Beri wrote: stamp = [word for word in row if word not in (' ', 'pippo', 'pluto')] -- Marco Gagliano ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] or
Il 18/03/2014 16:46, Filippo Dal Bosco - ha scritto: dalla lista row devo togliere alcune word in posizione variabile per costruire un' alta lista Per come funziona or in python questo sotto non va stamp=[] for word in row: if (word != ' ' , or word != 'pippo' or word != 'pluto'): stamp.append(word) print(stamp) qual' è la migliore soluzione? grazie parole_escluse = [pippo, pluto, paperino] filtro = lambda x: x not in parole_escuse row = filter(filtro, row) Rigorosamente non testato! :) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] alternative ad eval
2014-03-18 13:05 GMT+00:00 Balan Victor balan.vict...@gmail.com: Attualmente lo scopo è solo quello di valutare la fattibilità di un piccolo software di monitoraggio. C'e' tanta roba forte e facile gia' pronta. Non vi consiglio di farvi in casa queste cose. Due o tre cose sul monitoraggio le ho imparate, via... ;) -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python