python遇坑记录-json.loads() :JSONDecodeError: Invalid \escape

时间:2022-02-06 06:32:03

环境: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/'}

问题解决