다른 명령
- 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' 삭제 완료.