shell命令行执行python(解析json)

虾米姐 阅读:1047 2020-10-15 10:16:28 评论:0

每个脚本都有自己的擅长。

有次实现一个work,使用了shell,php,python看着文件种类多,不方便交接,看着也比较麻烦

减少文件种类数,也是很有必要的。

 

遇到的场景:shell程序需要从json中获取信息,继续处理。

文件, json.txt

{ 
    "name": "中国", 
    "province": [{ 
        "name": "黑龙江", 
        "cities": { 
            "city": ["哈尔滨", "大庆"] 
        }    
    }, { 
        "name": "广东", 
        "cities": { 
            "city": ["广州", "深圳", "珠海"] 
        }    
    }    
] 
}

 可以在shell中直接调用python(注意load 与 loads的区别)

par@ubuntu:~/Desktop/test$ cat json.txt  | /usr/bin/python2.7 -c "import json; import sys; obj=json.load(sys.stdin); print obj['province'][1]['name'].encode('utf-8')" 
广东 
par@ubuntu:~/Desktop/test$ cat json.txt  | /usr/bin/python2.7 -c "import json; import sys; obj=json.load(sys.stdin); print obj['province'][1]['cities']['city'][1].encode('utf-8')" 
深圳
标签:Shell
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号