如何在Python中处理JSON和Windows路径?


问题内容

我正在尝试运行一个Python包,该包读取JSON文件(配置文件)以获取信息。

问题是我需要将一些JSON文件编辑到包含的目录中。

该脚本的创建者使用Linux内核,因此他使用Linux路径名,而我使用Windows,这需要在路径名中使用反斜杠。

这引起了问题。JSON文件的外观如下:

"train": {
    "train_image_folder":   "C:/Users/Moondra/Desktop/Object Detection/basic-yolo-keras/train_image_folder",
    "train_annot_folder":   "C:/Users/Moondra/Desktop/Object Detection/basic-yolo-keras/train_annot_folder",

    "train_times":          10,
    "pretrained_weights":   " ",
    "batch_size":           16,
    "learning_rate":        1e-4,
    "nb_epoch":             50,
    "warmup_epochs":        3,

    "object_scale":         5.0 ,
    "no_object_scale":      1.0,
    "coord_scale":          1.0,
    "class_scale":          1.0,

    "saved_weights_name":   "full_yolo_raccoon.h5",
    "debug":                true

},

"valid": {
    "valid_image_folder":   "C:/Users/Moondra/Desktop/Object Detection/basic-yolo-keras/valid_image_folder",
    "valid_annot_folder":   "C:/Users/Moondra/Desktop/Object Detection/basic-yolo-keras/valid_annot_folder",

    "valid_times": 1

}

我找到了这个答案,但是对于我的情况并没有真正的帮助:

从JSON字符串中删除反斜杠?

有没有解决此问题的简单方法?


问题答案:

/ 是Windows上有效的目录分隔符,自MS-DOS 2起已经存在。您甚至可以将它们混合在同一路径中,但这看起来很可怕。

有些应用程序坚持使用\,但是您可能需要先尝试使用,/然后再自己动手做。

\在Windows上使用的一个重要原因是用户期望的地方。在\Windows中文化已经得到了如此根深蒂固,以至于它搅乱人们,当他们看到/