بعضی اشیاء اقدامات تمیزکاری استانداردی تعریف میکنند که باید زمانی که شیء دیگر لازم نیست انجام شود، صرف نظر از اینکه عملیات با استفاده از شیء موفق یا ناموفق بوده. به مثال زیر نگاه کنید که سعی میکند یک فایل را باز کند و محتوای آن را روی صفحه چاپ کند.
for line in open("myfile.txt"):
print(line, end="")
مشکل با این کد این است که فایل را برای مدت زمان نامشخصی باز نگه میدارد بعد از اینکه این بخش کد تمام شده است. در اسکریپتهای ساده مسئله نیست، اما برای برنامههای بزرگتر میتواند مسئله باشد. دستور with اجازه میدهد اشیاء مانند فایلها به گونهای استفاده شوند که تضمین شود همیشه به سرعت و درست تمیز میشوند.
with open("myfile.txt") as f:
for line in f:
print(line, end="")
پس از اجرای عبارت، فایل f همیشه بسته میشود، حتی اگر مشکلی در حین پردازش خطوط پیش آید. اشیاءی که مانند فایلها اقدامات تمیزکاری از پیش تعریف شده فراهم میکنند این را در مستنداتشان نشان میدهند.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://docs.python.org/3/tutorial