Ho circa 1000 nomi di file letti da os.listdir() alcuni di questi sono codificati 'utf-8' e alcuni sono 'cp1252'.Python rileva codifica byte stringa
Voglio decodificarli tutti in Unicode per un'ulteriore elaborazione nel mio script. C'è un modo per ottenere la codifica sorgente per decodificare correttamente in unicode?
Esempio:
for item in os.listdir(rootPath):
#Convert to Unicode
if isinstance(item, str):
item = item.decode('cp1252') # or item = item.decode('utf-8')
print item
Evitare l'uso di uno spazio vuoto 'tranne:'. Cattura tutto, anche le eccezioni basate sul sistema. In questo caso, ad eccezione di Exception: 'o' except UnicodeError: 'può essere più sensato. – twasbrillig
Buon punto sullo spazio bianco tranne, ma credo che l'eccezione corretta sia 'UnicodeDecodeError' – guival