我将json发送到一个文件,该文件将json转换为三个不同的值(文件、路径、myDict),然后使用转储将myDict解析为json,并将字符串发送到process.py
在主函数的process.py中,我读取了字符串myDict,并尝试在dict with loads中进行转换,但得到了一个错误: with replace,with replace后有空格,但loads函数不起作用...有什么想法吗?.....第11栏是":“我想
files = (json.loads(data))["archivo"]
path = (json.loads(data))["carpeta"]
myDict = (json.loads(data))["diccionario"]
myDict = json.dumps(myDict)
bashCommand = "python script.py "+files+" "+path+" "+myDict
process = subprocess.Popen(bashCommand.split(),stdout=subprocess.PIPE)
######In main script.py the code is
inFilex = sys.argv[1]
outFol = os.path.join("/outputs", sys.argv[2])
cadena = sys.argv[3]
cadena = cadena.replace('\n','')
cadena = cadena.replace(": ",":")
dictA = json.loads(cadena)
#The string myDict
myDict = {"julDay": 47, "year": 18, "spacecraft_ID": "LANDSAT_8", "wrs_path": "19\n", "wrs_row": "47\n", "date_aquired_str": "2018-12-11"}发布于 2019-10-24 11:33:11
我在转储函数中使用separator=()解决了这个问题
myDict = json.dumps(myDict,separators=(',',':'))
希望它能有所帮助。
https://stackoverflow.com/questions/58528175
复制相似问题