1. 程式人生 > >python遇坑記錄-json.loads() :JSONDecodeError: Invalid escape

python遇坑記錄-json.loads() :JSONDecodeError: Invalid escape

key 結果 sys ref pen ket cape sel port

環境:python3.6


json文件:

{
   "src_dir"            :   "C:\\Users\\admin\\Desktop\\99\\apkobb",
   "bucket"             :   "tocggspace",
   "key_prefix"         : "ggspace/self/"
}

py文件:

import sys, json

configfile = sys.argv[1]

config = json.loads(configfile)

執行:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
文件中的\\無法decode,思路先轉成其他的字符,decode之後再轉回來

import sys, json

configfile = sys.argv[1]

f = open(configfile, r)
configstr = f.read().replace(\\, \\\\)
configtmp = json.loads(configstr)
config = {k: v.replace(\\\\, \\) for k, v in configtmp.items()}
print(config)

數據結果:

{src_dir: C:\\Users\\admin\\Desktop\\99\\apkobb, bucket
: tocggspace, key_prefix: ggspace/self/}

問題解決

python遇坑記錄-json.loads() :JSONDecodeError: Invalid \escape