UnicodeDecodeError:'gbk'codec can't類似のエラー

644 ワード

def read_json(self):
        path = r'D:\xxx.json'
        with open(path) as f:
            str = json.loads(f.readline())
        print(str)

今日はpython 3を使います.6 jsonファイルを読み込むと、符号化エラーの問題が常に提示されます.
まずjsonファイルはUTF-8のフォーマットで保存されていますがpythonはファイルを開くときに符号化を指定していないので、コンピュータに格納されているのはunicode符号化なのか、readline()のときにファイルに中国語があることを発見してgbkで復号しようとしましたが、ファイル自体はutf-8なので復号に失敗しました.
問題を解決するには、次のように変更します.
def read_json(self):
        path = r'D:\xxx.json'
        with open(path,'r', encoding='utf-8') as f:
            str = json.loads(f.readline())
        print(str)