python - <<'PY' import sys, json, pickle from pathlib import Path import numpy as np def to_jsonable(x): if isinstance(x, dict): return {str(k): to_jsonable(v) for k,v in x.items()} if isinstance(x, (list, tuple, set)): return [to_jsonable(v) for v in x] if isinstance(x, (np.integer,)): return int(x) if isinstance(x, (np.floating,)): return float(x) if isinstance(x, (np.ndarray,)): return x.tolist() try: json.dumps(x); return x except Exception: return str(x) path = Path(sys.argv[1]) with open(path,"rb") as f: obj = pickle.load(f) out = path.with_suffix(".json") out.write_text(json.dumps(to_jsonable(obj), ensure_ascii=False, indent=2)) print("Wrote:", out) PY outputs/plot_ciwidth_best_vs_budget_Depolar_mean_bestby-mean.pickle