Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 编写JSON字符串,允许以双引号将参数传递给subprocess.call_Python_Json_Subprocess - Fatal编程技术网

Python 编写JSON字符串,允许以双引号将参数传递给subprocess.call

Python 编写JSON字符串,允许以双引号将参数传递给subprocess.call,python,json,subprocess,Python,Json,Subprocess,代码段: json_string='{"job1" : ["echo","\\"hello world\\""]}' parsed_json = json.loads(json_string) subprocess.call([parsed_json["job1"][0],parsed_json["job1"][1]]) 输出: “你好,世界” 当我打印parsed_json[“job1”][0]和parsed_json[“job1”][1]时,我分别得到echo和“hello world”作

代码段:

json_string='{"job1" : ["echo","\\"hello world\\""]}'
parsed_json = json.loads(json_string)
subprocess.call([parsed_json["job1"][0],parsed_json["job1"][1]])
输出:
“你好,世界”

当我打印
parsed_json[“job1”][0]
parsed_json[“job1”][1]
时,我分别得到
echo
“hello world”
作为输出

但是当我直接在终端中输入这个命令时,输出是不同的

终端中的命令:

echo "hello world"

上述两个命令的输出为:
hello world


如何重写JSON字符串,以便使用subprocess.call函数运行第一个终端命令(
echo“hello world”
)?似乎它应该包含
[“echo”,“hello world”]
。否则,您希望
[“echo”、“\“hello world\”和“second string\”][/code>做什么呢?我编写了
json\u字符串。[“echo”,“hello world”]工作正常,相当于命令
echo hello world
。我只是想知道如何为命令
echo“hello world”
编写等效的JSON字符串。我不明白你问题的第二部分。[“echo”,“hello world\”]不允许我正确编译程序。我听说其他人在json.loads函数中也遇到过类似的情况。
[“echo”,“hello world”]
相当于
echo“hello world”“
。shell解释引号。使用带有参数列表的
subprocess.call
时,不涉及shell。是什么产生了
json\u字符串
?似乎它应该包含
[“echo”,“hello world”]
。否则,您希望
[“echo”、“\“hello world\”和“second string\”][/code>做什么呢?我编写了
json\u字符串。[“echo”,“hello world”]工作正常,相当于命令
echo hello world
。我只是想知道如何为命令
echo“hello world”
编写等效的JSON字符串。我不明白你问题的第二部分。[“echo”,“hello world\”]不允许我正确编译程序。我听说其他人在json.loads函数中也遇到过类似的情况。
[“echo”,“hello world”]
相当于
echo“hello world”“
。shell解释引号。使用带有参数列表的
subprocess.call
时,不涉及shell。
echo hello world