줄기세포

[Python] 리눅스에서 json을 pipeline으로 받아 key 값 출력 본문

Python

[Python] 리눅스에서 json을 pipeline으로 받아 key 값 출력

줄기세포(Stem_Cell) 2023. 1. 16. 17:05

A. 코드

#!/usr/bin/python

import json
import sys


def json_check( args ):

    // pipeline으로 넘어올 값을 변수 저장
    json_data = sys.stdin.read()

    check_obj = json.loads( json_data )
    print(type(check_obj), len(check_obj))

    for i in args:
        try:
           print(check_obj[str(i)])
        except Exception as e:
           print(e)

// sys.argv= parameter을 받아 하나씩 for문 처리
json_check(sys.argv[1:])

B. 설명

  • Json Type으로 넘어오는 Data 값을 stdin으로 받은 후
  • pipeline 을 이용하여, key의 해당하는 value를 출력할 수 있다

C. 활용

#---- A 코드를 저장한다
$ vi print_val.py


#---- json data와 python 코드를 pipeline으로 이어 수행
#------ 활용1
$ curl some_data.json | ./print_val.py [key1]

#------ 활용2
$ curl some_data.json | ./print_val.py [key1] [key2]

#------ 활용3: json을 network으로 받아오기 어렵다면 json파일로 저장하여 cat으로 실행
$ cat some_data.json | ./print_val.py [key1] [key2]

D. 결과

Comments