with Context manager

Last updated: 2026-09-22

with Context manager

with calls __enter__ / __exit__ on a context manager; common for files, locks, connections.

CategoryKeywords & Statements
KindKeyword / Statement
Python Versionall

📝 Syntax

with expr [as target]:
    block

▶ Example

Edit the code, press Run, and see the result in the output panel:

Output:

closed: True
💡 Tip with is the idiomatic way to manage resources; cleaner than try/finally.
More case studies coming soon — check back later.

❓ FAQ

QAfter opening a file with `with`, do I still need to close it manually?
ANo. `with` automatically calls the file's `close()` (via `__exit__`) when leaving the block, even if an exception is raised midway. This is the officially recommended way to manage resources.
QCan `with` manage several resources at once?
AYes. Python 3.10+ allows `with (open(a) as f1, open(b) as f2):`. On older versions use nested `with`, or manage dynamically with `contextlib.ExitStack`.
QIs the `as` variable after `with` still usable outside the block?
AThe variable name is still accessible (Python has no block-level scoping), but the resource is already closed. For example, reading or writing a file outside the `with` raises `ValueError: I/O operation on closed file`.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏