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) In [5]: len(c2) Out[5]: 17 In [6]: c2 Out[6]: 'DigitalDigital HH' In [7]: len(camera) Out[7]: 32 *:-) _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python