'utf8' codec kann nicht decodieren byte 0xf3

Ich bin mit python 2.7 Lesen der json-Datei. mein code ist

import json
from json import JSONDecoder
import os

path=os.path.dirname(os.path.abspath(__file__))+'/json'
print path
for root, dirs, files in os.walk(os.path.dirname(path+'/json')):
    for f in files:  
        if f.lower().endswith((".json")):
            fp=open(root + '/'+f)
            data = fp.read()
            print data.decode('utf-8')

Aber ich bekam die folgende Fehlermeldung.

UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 72: invalid
continuation byte
JSON definiert ist, um die Verwendung von UTF-8 aber ein einsamer byte 0xF3 ist nicht gültig in einer UTF-8-multibyte-Sequenz. Ihre Datei ist kein gültiges UTF-8. Eine Allgemeine Problemumgehung ist, zu zwingen, eine andere Codierung, allgemein 'latin-1', aber das wird im Grunde erstellen Sie falsche Ergebnisse statt. Wenn Sie wissen, dass die tatsächlichen Kodierung der Eingabe, mit allen Mitteln zu verwenden.
Siehe auch die character-encoding wiki-tag für den hintergrund und Tipps zur Fehlerbehebung.
Warum fügen Sie /json, dann ziehe es aus mit os.path.dirname() nur fügen Sie es wieder zurück?
Wenn hinzufügen, dass json, ist Es zu Fuß in das json-Verzeichnis.
Ist dort Weise, zu finden, die Codierung , durch das Lesen der Datei-Eigenschaften oder durch irgendwelche Mittel.

InformationsquelleAutor Rajiv | 2015-06-23

Schreibe einen Kommentar