如何使用 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"}]}'
我写了一个代码来解析并得到 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"}]}'