如何通过命令行将json传递给python脚本?

如何通过命令行将json传递给python脚本?,python,json,python-3.x,command-line,python-3.6,Python,Json,Python 3.x,Command Line,Python 3.6,我想通过命令行上的json将一组简单的名称/值对传递给python脚本 $ curl -s https://jsonplaceholder.typicode.com/posts/1 | python3.6 -c 'import sys, json; print json.load(sys.stdin)' File "<string>", line 1 import sys, json; print json.load(sys.stdin)

我想通过命令行上的json将一组简单的名称/值对传递给python脚本

$ curl -s https://jsonplaceholder.typicode.com/posts/1 | python3.6 -c 'import sys, json; print json.load(sys.stdin)'
  File "<string>", line 1
    import sys, json; print json.load(sys.stdin)
                               ^
SyntaxError: invalid syntax
(23) Failed writing body
目标是分配变量,如:

if json.load(sys.stdin)["title"] is not None:
    post_title = json.load(sys.stdin)["title"]

如何才能正确完成此操作?

您需要在打印的
参数周围加上括号:

python3.6 -c 'import sys, json; print(json.load(sys.stdin))'

您需要在
print
的参数周围加括号:

python3.6 -c 'import sys, json; print(json.load(sys.stdin))'

python3.6-c'print“anything”
不起作用<在Python 3.6.doh中,code>print
是一个函数,而不是一个语句<代码>curl-shttps://jsonplaceholder.typicode.com/posts/1 |python3.6-c'导入系统,json;打印(json.load(sys.stdin)[“title”])”FTW。谢谢。
python3.6-c'print“anything”
不起作用<在Python 3.6.doh中,code>print是一个函数,而不是一个语句<代码>curl-shttps://jsonplaceholder.typicode.com/posts/1 |python3.6-c'导入系统,json;打印(json.load(sys.stdin)[“title”])”FTW。谢谢。@DominikBrno,……顺便说一句,你会注意到我在这个“社区维基”上做了标记,但我没有从中得到分数——这是因为回答这个问题在技术上是违反规则的;请参阅中的“回答好的问题”,特别是关于“以前被问过并回答过多次”的问题的要点。@DominikBrno,…也就是说,因为它是社区wiki,如果您认为显示工作代码的示例(如删除的答案中所做的f/e)是一个有用的补充,欢迎您对其进行编辑。@DominikBrno,…顺便说一句,你会注意到,我在这个“社区维基”上做了标记,但我没有从中得到分数——这是因为回答这个问题在技术上是违反规则的;请参阅中的“回答好的问题”,特别是关于“以前被问过并回答过多次”的问题的要点。@DominikBrno,…也就是说,因为它是社区wiki,如果您认为显示工作代码的示例(如删除的答案中所述的f/e)是一个有用的补充,欢迎您对其进行编辑。