shaare.it

Stream closed error

7 Dec 2025

1 min read

Stream closed error

$ python -c "import requests; r=requests.get('https://example.com', stream=True); r.close(); next(r.iter_content(10))"
Traceback (most recent call last):
  ...
ValueError: I/O operation on closed file.

Why this happens

The response stream was closed before reading content.

Fix

  • Read content before closing or avoid manual close by using context manager.

Wrong code

import requests
r = requests.get("https://example.com", stream=True)
r.close()
for chunk in r.iter_content(1024):
    pass

Fixed code

import requests
with requests.get("https://example.com", stream=True) as r:
    for chunk in r.iter_content(1024):
        # process chunk
        pass