> quando però vado a fare le seguenti istruzioni, per verificare se > esiste la directory, prima di crearla, quando incontra un particolare > file, mi crasha, con il seguente errore: > > Traceback (most recent call last): > File "./RinominaFoto.py", line 80, in <module> > scan_dir(args) > File "./RinominaFoto.py", line 67, in scan_dir > if not os.path.exists(os.path.join(args['destdir'], camera)): > File "/usr/lib/python3.6/genericpath.py", line 19, in exists > os.stat(path) > ValueError: embedded null byte > > la riga incriminata è ovviamente: > > if not os.path.exists(os.path.join(args['destdir'], camera)): > > e presumo che l'errore stia nella varibile camera. > > in questo particolare file il valore, subito prima di crashare è il seguente: > > 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() 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? Prova con repr(camera) L'istruzione va in eccezione anche nel debugger? > except OSError: > import ipdb; ipdb.set_trace() > continue sandro *:-) _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python