tinydb 예시

참고) tinydb document: https://buildmedia.readthedocs.org/media/pdf/tinydb/latest/tinydb.pdf

# json 테스트 입력 파일
{
  "_default":{
    "1": {"type": "tag", "name": "A0", "scopeKind": "struct1"},
    "2": {"type": "tag", "name": "A0", "scopeKind": "struct2"},
    "3": {"type": "tag", "name": "A0", "scopeKind": "struct3"},
    "4": {"type": "tag", "name": "A1", "scopeKind": "struct4"},
    "5": {"type": "tag", "name": "A1", "scopeKind": "struct5"}
  }
}

Example #1

from tinydb import TinyDB, Query
import pprint
pp = pprint.PrettyPrinter(indent=4)

db = TinyDB('./test_json_1.dic')

filter = Query()
# 항목 제거
db.remove(filter.scopeKind == 'struct4')
# 항목 업데이트
db.update({'scopeKind': 'struct7'}, filter.name == 'A1')
# 항목 삽입
db.insert({ 'name': 'user', 'permissions': [{'type': 'read'}]})
# 출력 확인
pp.pprint(db.all())
# json 테스트 출력 파일
[   {'name': 'A0', 'scopeKind': 'struct1', 'type': 'tag'},
    {'name': 'A0', 'scopeKind': 'struct2', 'type': 'tag'},
    {'name': 'A0', 'scopeKind': 'struct3', 'type': 'tag'},
    {'name': 'A1', 'scopeKind': 'struct7', 'type': 'tag'},
    {'name': 'user', 'permissions': [{'type': 'read'}]}]

Example #2

from tinydb import TinyDB, Query
import pprint
pp = pprint.PrettyPrinter(indent=4)
db = TinyDB('./test_json_2.dic')
filter = Query()

# 항목 제거
db.remove(filter.word == "you've")
# 항목 업데이트
db.update({'tag': 'NNP'}, filter.word == '예')
# 항목 삽입
db.insert({'word': 'zzz', 'tag':'NNG'})

# 출력 확인
data = db.all()
pp.pprint(data)
# json 테스트 입력 파일
{
"_default":{
"1": {"word":"예","tag":"NNG"},
"2": {"word":"한","tag":"MM"},
"3": {"word":"다음","tag":"NNG"},
"4": {"word":"돈","tag":"NNG"},
"5": {"word":"사","tag":"NNG"},
"6": {"word":"아","tag":"NNG"},
"7": {"word":"you've","tag":"NNG"}
}
}