English
Open in Telegram

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

11 January 2026
|
| کانال توسعه‌دهندگان پایتون |
📌 باز و بسته کردن فایل با 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 ·

Nearby in the feed

|| کانال توسعه‌دهندگان پایتون |FastAPI یه فریم‌ورک مدرن برای ساخت Web API تو پایتونه که کامل روی type hints سوار شده و برای ساخت سرویس‌های سریع و قابل نگه‌داری عالیه. بر پایه Starlette و Pyda|| کانال توسعه‌دهندگان پایتون |⭕️ ویراک کلود زیرساختی مطمئن برای کسب و کارهای آنلاین 🎁 20% شارژ بیشتر روی اولین واریزی ⚡️با کد معرف: 10% شارژ برای شما و 10% برای دوستتان! 🔘با IPv6 رایگان 🔘با
this message
|| کانال توسعه‌دهندگان پایتون |الگوی Strategy: خداحافظ if-elif-elseهای غول‌آسا 🧠 یکی از Code Smellهای رایج در پروژه‌های Python، به‌خصوص در Django / FastAPI، زنجیره‌های بزرگ if / elif برای انت|| کانال توسعه‌دهندگان پایتون |در نمونه‌کد بالا تابع load_rows اول همه‌ی داده‌ها را یک‌جا در مموری می‌ریزد و بعد روی آن‌ها loop می‌زند؛ این کار روی فایل‌های بزرگ باعث Memory مصرفی بالا و حتی
|| کانال توسعه‌دهندگان پایتون || کانال توسعه‌دهندگان پایتون |@DevelopixPython · channel · Tech
7 646subscribers704average post reach
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count