如何通过命令行将json传递给python脚本?
我想通过命令行上的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)
$ 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)是一个有用的补充,欢迎您对其进行编辑。