메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Json 이용 키-값 추가 수정 삭제 방법

데브카페
Devcafe (토론 | 기여)님의 2025년 5월 20일 (화) 06:09 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
  • JSON 파일을 이용해 키-값을 추가, 수정, 삭제 할 수 있는 Python 프로그램


assignment * JSON 파일을 불러오기 / 저장하기
  • 키 추가 (`add`)
  • 키 수정 (`update`)
  • 키 삭제 (`delete`)
  • 키 목록 보기 (`show`)

  • 예제 JSON 파일 (`config.json`)
{
  "username": "admin",
  "timeout": 30
}

Python 프로그램 코드

import json
import os

CONFIG_FILE = 'config.json'

def load_config():
    if not os.path.exists(CONFIG_FILE):
        return {}
    with open(CONFIG_FILE, 'r') as f:
        return json.load(f)

def save_config(config):
    with open(CONFIG_FILE, 'w') as f:
        json.dump(config, f, indent=4)
        print("설정 저장 완료.")

def show_config(config):
    if not config:
        print("설정이 비어 있습니다.")
    else:
        print("📋 현재 설정:")
        for key, value in config.items():
            print(f"  {key}: {value}")

def add_or_update(config, key, value):
    if key in config:
        print(f" '{key}' 값을 '{value}'로 수정합니다.")
    else:
        print(f" '{key}' 값을 '{value}'로 추가합니다.")
    config[key] = value
    save_config(config)

def delete_key(config, key):
    if key in config:
        del config[key]
        print(f"🗑️ '{key}' 삭제 완료.")
        save_config(config)
    else:
        print(f" '{key}'는 설정에 존재하지 않습니다.")
def get_value(config, key):
    if key in config:
        print(f"🔎 '{key}'의 값: {config[key]}")
    else:
        print(f"❌ '{key}'는 설정에 존재하지 않습니다.")

def main():
    config = load_config()

    while True:
        print("\n메뉴: [add] 추가, [update] 수정, [delete] 삭제, [show] 보기, [exit] 종료")
        cmd = input("명령 입력: ").strip().lower()

        if cmd == 'add' or cmd == 'update':
            key = input("키 입력: ").strip()
            value = input("값 입력: ").strip()
            try:
                # 숫자형 입력도 자동 변환
                value = json.loads(value)
            except:
                pass
            add_or_update(config, key, value)

        elif cmd == 'delete':
            key = input("삭제할 키 입력: ").strip()
            delete_key(config, key)

        elif cmd == 'show':
            show_config(config)

        elif cmd == 'get':
            key = input("조회할 키 입력: ").strip()
            get_value(config, key)

        elif cmd == 'exit':
            print("프로그램 종료.")
            break

        else:
            print(" 알 수 없는 명령입니다.")

if __name__ == '__main__':
    main()



사용 예시

1) 명령 입력: add

  • 키 입력: language
  • 값 입력: python
  • ➕ 'language' 값을 'python'로 추가합니다.
  • ✅ 설정 저장 완료.

2) 명령 입력: update

  • 키 입력: timeout
  • 값 입력: 60
  • ✏️ 'timeout' 값을 '60'로 수정합니다.
  • ✅ 설정 저장 완료.

3) 명령 입력: delete

  • 삭제할 키 입력: username
  • 🗑️ 'username' 삭제 완료.

Comments