[Python] ValueError: embedded null byte

Gollum1 gollum1.smeagol1 a gmail.com
Mer 4 Apr 2018 12:05:44 CEST


Il 4 aprile 2018 08:56, Alessandro Dentella <sandro a 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.

> 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?

nel frattempo, grazie
>
> L'istruzione va in eccezione anche nel debugger?
>
>>             except OSError:
>>                 import ipdb; ipdb.set_trace()
>>                 continue
>
>
> sandro
> *:-)
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python



-- 
Gollum1 - http://www.gollumone.it
Tesssssoro, dov'é il mio tessssoro...


Maggiori informazioni sulla lista Python