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

时间:2018-01-24 06:16:28

标签: python json

我试图运行一个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     }

我找到了这个,但在我的案例中并没有什么帮助:

Remove Backslash from JSON string?

有一个简单的方法吗?

2 个答案:

答案 0 :(得分:4)

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

某些应用程序坚持\,但您可能希望在为自己工作之前尝试使用/

在Windows上使用\的一个重要原因是用户期望它。 \已经在Windows文化中根深蒂固,当人们看到/时会让人感到不安。

答案 1 :(得分:2)

您可以尝试另一种方式。 从json文件中读取所需的路径变量。 您可以将路径变量字符串/替换为\\。希望它能运作

# Assuming path variable string as "path"
windows_path = path.replace("/","\\")