• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문드립니다

20.07.28 02:30 작성 조회수 110

1

1. requests.get에 들어있는 stream=True의미는 무엇인가요?

그리고 .raw와 .content는 어떤 역할을 해주나요?

2.cv2.destroyAllWindows()가 키가 눌렸을때 모든 윈도우 창을 꺼준다고 하셨는데 위 코드가 없어도 바뀌는게 보이지 않습니다.정확히 어떤 역할을 하는지 알고싶습니다.

답변 1

답변을 작성해보세요.

0

1. 웹 페이지에 접속시 페이지 이동 등 여러가지 상황이 있을 수 있는데 stream 옵션은 해당 컨텐츠를 즉시 다운로드할지의 여부를 결정합니다. 기본값은 False 입니다. raw 는 stream 옵션이 true 로 설정되었을때 사용될 수 있으며 content 는 웹서버 응답 내용을 말합니다. 말이 좀 어려운데 쉽게 하나의 예를 들면 일반적인 웹페이지는 거의 대부분 content 나 text 로 처리 할  수 있습니다 그러나 용량이 큰 파일을 다운로드 한다고 했을때는 이렇게 처리할 수 없는데 이때 stream 옵션을 true 로 주어야 용량이 큰 파일을 모두 다운로드 받을 수 있고 이때 넘어온 데이터를 raw 데이터로 처리 해야 합니다.

https://2.python-requests.org/en/master/api/#requests.Session.request

위 링크를 통해 request 의 여러가지 옵션에 대한 설명을 보실 수 있습니다.

2. destroyAllWindows() 함수의 현재 opencv 가 생성한 창을 모두 닫아준다는 의미 안에는 내부적으로 생성된 자원까지 모두 release 해준다는 의미도 있습니다. 사용자에 의해 창이 모두 닫혀있고 자원이 모두 반환(release) 된 상태라면 아무 일도 일어나지 않지만 사용자가 창을 닫았는데 자원이 반환되지 않았거나 창이 닫히지 않았거나 할때 동작합니다. 실수를 방지하기 위해 기입하는 코드라고 보셔도 됩니다.