Issue #7461: objects returned by os.popen() should support the context manager protocol
diff --git a/Lib/os.py b/Lib/os.py
index ec5d280..2a9937f 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -650,6 +650,10 @@
             return returncode
         else:
             return returncode << 8  # Shift left to match old behavior
+    def __enter__(self):
+        return self
+    def __exit__(self, *args):
+        self.close()
     def __getattr__(self, name):
         return getattr(self._stream, name)
     def __iter__(self):