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