Il 4 aprile 2018 12:38, Alessandro Dentella <san...@e-den.it> ha scritto: > On Wed, Apr 04, 2018 at 12:05:44PM +0200, Gollum1 wrote: >> Il 4 aprile 2018 08:56, Alessandro Dentella <san...@e-den.it> ha scritto: >> >> >> camera = "DigitalDigital HH" >> > >> > Se fosse veramente quello il valore della variabile 'camera' non ci >> > sarebbero problemi: >> > >> > $ ipython3 >> > >> > In [1]: import os >> > >> > In [2]: camera = "DigitalDigital HH" >> > >> > In [3]: os.path.exists(os.path.join('/tmp', camera)) >> > Out[3]: False >> > >> > Per prima cosa aggiungerei nel try/except: >> > >> > import ipdb; ipdb.set_trace() >> >> questo non mi funziona, non ho il modulo installato evidentemente, >> provvederò quanto prima. > > vitale per un debug efficace: > > pip install ipdb > > >> > così sperimenti direttamente e ti fai un'idea chiara. >> > len(camera) ti restituisce 17 o la variabile ha qualche carattere non >> > rappresentato magari nella tua codifica? >> >> bella lì... mi len mi dice che è lungo 32 caratteri... :O >> >> > Prova con repr(camera) >> >> (32) - DigitalDigital HH >> 'Digital\x00\x00Digital >> \x00H\x00\x00\x00\x01\x00\x00\x00H\x00\x00\x00\x01\x00' >> >> eccolo lì... e spiegato anche il motivo per cui anche facendo uno >> split sullo spazio, in realtà non risolvevo il problema, non è >> visibile, ma rompe... >> >> esiste un qualche comando che mi permetta di "sanare" una stringa così >> fatta? un camera.encode(utf8) potrebbe essere la soluzione? > > In [2]: import re > > In [3]: camera = 'Digital\x00\x00Digital > \x00H\x00\x00\x00\x01\x00\x00\x00H\x00\x00\x00\x01\x00' > > In [4]: c2 = re.sub('[^a-zA-Z0-9_ ]', '', camera)
interessante questo, io stavo cercando il modo di eliminare i caratteri non stampabili, tu in pratica mi dici di creare una nuova stringa, con i soli caratteri stampabili... i non stampabili se ne vanno di default... non esistevano delle macro con regex per scegliere i set di caratteri? blank, number o cose del genere... un vago ricordo... > > In [5]: len(c2) > Out[5]: 17 > > In [6]: c2 > Out[6]: 'DigitalDigital HH' > > In [7]: len(camera) > Out[7]: 32 tutto sommato mi pare la soluzione migliore... adotterò... grazie Byez -- Gollum1 - http://www.gollumone.it Tesssssoro, dov'é il mio tessssoro... _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python