如何使用 python 将 json 字符串作为命令行参数传递

How to pass json string as a command line argument using python

我写了一个代码来解析并得到 values.This 是代码:


    
with open("config.json","r")as infile:
     inputs = json.load(infile)
for item in range(len(inputs["config"])):
     IP = inputs["config"][item]["IP"]
     PORT = inputs["config"][item]["PORT"]
     USERNAME = inputs["config"][item]["USERNAME"]
     PASSWORD = inputs["config"][item]["PASSWORD"]
     ENABLE = inputs["config"][item]["ENABLE"]
     if ENABLE == "True":
         

但是,我不想像这样打开文件,而是想将 json_string 作为命令行参数传递,以便它可以从命令行读取并将 json_string 中的值传递给变量。 我有一个 json_string 这样的:


    
{​​
"cameras": [
{​​
"ipAddress": "10.27.25.164",
"url": "rtsp://admin:Aviro@10.27.15.164/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif",
"userName": "admin",
"userPasswd": "Aviro",
"port": "80"
}​​
]
}​​

我想知道如何将 json_string 作为命令行参数传递以及我需要在代码中修改哪些更改,因此 json_string 中的值分配给给定变量。

谁能帮我解决这个问题???

是的,从这样的命令行参数中读取:

import sys,json
inputs = json.loads(sys.argv[1])

并像这样传递:

SCRIPT.py '{​​"cameras": [{​​"ipAddress": "10.27.25.164","url": "rtsp://admin:Aviro@10.27.15.164/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif","userName": "admin","userPasswd": "Aviro","port": "80"}​​]}'