인프런 커뮤니티 질문&답변

방효석님의 프로필 이미지
방효석

작성한 질문수

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)

동시성 프로그래밍으로 이미지 다운로더 개발 (feat. aiofiles)

response 객체에서 키값으로 조회 시 KeyError 발생

작성

·

374

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요,

강의 2:17 부분을 보면서 따라해보고 있는데 아래 부분에서 KeyError가 발생합니다.

items = result["items"]

 

구체적인 에러 메시지는 다음과 같습니다

스크린샷 2023-12-05 오후 9.07.52.png

result 객체의 키값만 조회해보면 items가 정상적으로 존재하고, reult의 타입도 dict 형태로 나오는데 왜 keyerror가 발생하는걸까요..?

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

KeyError는 주로 해당 키가 딕셔너리에 존재하지 않음을 나타냅니다. 제시해 주신 코드와 오류 메시지를 바탕으로 몇 가지 가능성을 살펴보자면 다음과 같습니다:

  1. result 딕셔너리에 ‘items’라는 키가 실제로 존재하는지 다시 한 번 확인해주세요. 키의 이름이 오타가 있거나 대소문자가 정확하지 않는 경우에도 KeyError가 발생할 수 있습니다.

  2. result 딕셔너리가 비어있거나, 예상과 다른 구조를 가지고 있는 경우에도 ‘items’ 키를 찾지 못해 KeyError가 발생할 수 있습니다. print(result)를 사용하여 result의 내용을 확인해보세요.

  3. 해당 코드가 비동기적으로 실행되고 있고, result 객체를 채우는 작업이 완전히 끝나지 않았을 때 ‘items’ 키에 접근하려고 하면 KeyError가 발생할 수도 있습니다. 이 경우, 데이터가 완전히 로드될 때까지 기다리는 로직이 필요합니다.

주어진 맥락에서 질문자님이 겪고 계신 문제를 정확히 파악하려면, result 객체를 생성하고 관리하는 부분의 코드를 더 살펴봐야 할 것 같습니다.

해당 강의의 ‘Q&A’ 섹션을 이용하시거나 강의의 특정 부분을 다시 확인해 보시기를 권합니다. 추가적으로 강의자료가 있다면, 제공된 자료를 참고하여 코드 구현 부분에서 빠트린 부분은 없는지도 점검해 보세요.

상황이 해결되지 않는 경우, 인프런의 1:1 문의하기를 통해 직접 문의하실 수 있습니다. 오류를 겪고 계신 과정에서 필요한 강의자료는 아래 이미지 URL과 원문 URL을 통해 확인하실 수 있습니다.

강의자료 확인 이미지
강의자료 확인 링크

계속해서 문제를 겪고 계시다면 코드 전체와 result 객체의 내용을 함께 제공해 주시면 더 정확한 해결 방안을 안내드릴 수 있을 것입니다.

방효석님의 프로필 이미지
방효석

작성한 질문수

질문하기