简体中文
Telegram

帖子 📌 باز و بسته کردن فایل با context manager

2026年1月11日
|
| کانال توسعه‌دهندگان پایتون |
📌 باز و بسته کردن فایل با context manager خیلی وقت cها توی کدهای Python دیده می cشه فایل رو با open() باز می cکنیم، ولی فراموش می cکنیم ببندیمش. این کار می cتونه باعث Memory Leak، خطاهای عجیب روی سیستم فایل و قفل شدن فایل بشه. راه تمیز و Pythonic استفاده از کلمهٔ کلیدی with هست که خودش به cصورت خودکار فایل رو می cبنده، حتی اگر وسط کار Exception بیاد. 😎 # ❌ روش ضعیف f = open("data.txt", "r", encoding="utf-8") text = f.read() # اگر اینجا Exception بیاد، f.close() هرگز صدا زده نمی cشه f.close() # ✅ روش پیشنهادی با context manager with open("data.txt", "r", encoding="utf-8") as f: text = f.read() print(len(text)) اینجا with تضمین می cکنه بعد از اتمام بلاک، چه کد موفق اجرا بشه چه Exception رخ بده، متد f.close() صدا زده بشه. این دقیقاً رفتاریه که برای منابع حساس مثل فایل، کانکشن دیتابیس، و ساکت cها می cخوایم. 🔐 نکتهٔ مهم دیگه اینه که with کد رو خواناتر و قابل cاعتمادتر می cکنه؛ هر کسی کد رو ببینه، فوراً متوجه scope استفاده از منبع می cشه و لازم نیست دنبال close() بگرده. این الگو رو می cشه برای چند فایل همزمان هم استفاده کرد: with open("input.txt", "r", encoding="utf-8") as fin, \ open("output.txt", "w", encoding="utf-8") as fout: for line in fin: fout.write(line.upper()) امتحان این الگو توی پروژه cهای فعلی، مخصوصاً جاهایی که با فایل، شبکه یا هر منبع خارجی کار می cشه، یکی از سریع cترین بهبودهای کد محسوب می cشه. ✨ منبع رسمی برای جزئیات بیشتر: Python Docs - The with statement 🔖 #Python #پایتون #Python #File_I/O #Context_Manager #Best_Practices #Code_Readability 👤 Developix 💎 Channel: @DevelopixPython
4 · 1.8K ·

信息流中的邻近内容

|| کانال توسعه‌دهندگان پایتون |FastAPI یه فریم‌ورک مدرن برای ساخت Web API تو پایتونه که کامل روی type hints سوار شده و برای ساخت سرویس‌های سریع و قابل نگه‌داری عالیه. بر پایه Starlette و Pyda|| کانال توسعه‌دهندگان پایتون |⭕️ ویراک کلود زیرساختی مطمئن برای کسب و کارهای آنلاین 🎁 20% شارژ بیشتر روی اولین واریزی ⚡️با کد معرف: 10% شارژ برای شما و 10% برای دوستتان! 🔘با IPv6 رایگان 🔘با
这条消息
|| کانال توسعه‌دهندگان پایتون |الگوی Strategy: خداحافظ if-elif-elseهای غول‌آسا 🧠 یکی از Code Smellهای رایج در پروژه‌های Python، به‌خصوص در Django / FastAPI، زنجیره‌های بزرگ if / elif برای انت|| کانال توسعه‌دهندگان پایتون |در نمونه‌کد بالا تابع load_rows اول همه‌ی داده‌ها را یک‌جا در مموری می‌ریزد و بعد روی آن‌ها loop می‌زند؛ این کار روی فایل‌های بزرگ باعث Memory مصرفی بالا و حتی
|| کانال توسعه‌دهندگان پایتون || کانال توسعه‌دهندگان پایتون |@DevelopixPython · 频道 · 科技
7 646订阅者704帖子平均触达
社群信息流 在 Telegram 中打开

来自搜索索引的公开信息流 ChatCrawler ——“公开 Telegram 的 Google”;随着该社群被抓取而更新。 时间为 UTC。

仅限公开内容,使用 Telegram 官方 API。 关于 · 常见问题 · 索引限制 · 移除页面 · 目录 · 搜索 · 计算方法