جلسه سی و ششم

استثناها و ادامه فایل‌ها

باز کردن یک فایل از یک زیر پوشه:

هنگامی که پایتون تابع open() را اجرا می کند، به دنبال فایل در همان فهرستی می گردد که برنامه در حال اجرا در آن ذخیره شده است. می توانید با استفاده از یک مسیر نسبی یک فایل را از یک زیر پوشه باز کنید. همچنین می توانید از یک مسیر مطلق برای باز کردن هر فایلی در سیستم خود استفاده کنید.

 

مسیر مطلق:

مسیر مطلق (Absolute Path) در کامپیوتر به مسیر کامل و دقیق یک فایل یا پوشه در سیستم فایل اشاره دارد. این مسیر شامل تمام پوشه‌ها و زیرپوشه‌های لازم برای دسترسی به آن فایل یا پوشه است.

مسیر مطلق همیشه از ریشه (root) سیستم فایل شروع می‌شود و تمام پوشه‌ها و زیرپوشه‌های لازم را برای دسترسی به آن فایل یا پوشه مشخص می‌کند.

مسیر نسبی:

مسیر نسبی (Relative Path) به مکان فایل یا پوشه نسبت به موقعیت جاری کاربر اشاره دارد. مسیر نسبی ممکن است شامل پوشه‌ها و زیرپوشه‌های کمتری باشد و معمولاً با نقطه (.) یا دو نقطه (..) شروع می‌شود.

استثناها

استثناها اشیاء خاصی هستند که به برنامه های شما کمک می کنند به روش های مناسب به خطاها پاسخ دهند. به عنوان مثال اگر برنامه شما سعی می کند فایلی را باز کند که وجود ندارد، می توانید از استثناها برای نمایش یک پیام خطای آموزنده به جای خراب شدن برنامه استفاده کنید

هنگامی که فکر می کنید ممکن است خطایی رخ دهد، می توانید یک بلوک try_except بنویسید تا استثنایی که ممکن است ایجاد شود را مدیریت کنید. بلوک try به پایتون می‌گوید که اجرای کدی را امتحان کند، و بلوک استثنا به پایتون می‌گوید که اگر کد منجر به نوع خاصی از خطا شد، چه کاری انجام دهد.

tryexcept در پایتون یک بلوک کد است که به شما امکان می‌دهد تا خطاهای احتمالی را مدیریت کنید. این بلوک کد به شما اجازه می‌دهد تا در صورت بروز خطا، برنامه را به طور موثر اجرا کنید.

ساختار اصلی tryexcept در پایتون به شرح زیر است:

در اینجا:

try بلوکی است که شامل کد احتمالی خطازا است.

except بلوکی است که در صورت بروز خطا در بلوک try، اجرا می‌شود.

ExceptionType نوع خطایی است که قرار است در بلوک except مدیریت شود.

برای مثال 1: مدیریت استثنای ZeroDivisionError(تقسیم بر صفر).

در این مثال، اگر در بلوک try خطای ZeroDivisionError رخ دهد، برنامه به بلوک except می‌رود و متن “Error: Division by zero” را چاپ می‌کند.

مثال 2: مدیریت استثنا FileNotFoundError(پیدا نشدن فایل)

در این مثال، اگر در بلوک try خطای FileNotFoundError رخ دهد، برنامه به بلوک except می‌رود و متن “msg” را چاپ می‌کند.

tryexcept به شما امکان می‌دهد تا خطاها را شناسایی و مدیریت کنید. این بسیار مفید است زیرا باعث می‌شود برنامه شما در هنگام بروز خطا، به طور موثر اجرا شود و از شکست کامل آن جلوگیری کند.

همچنین می‌توان چند بلوک except برای مدیریت انواع مختلف خطاها در برنامه استفاده کرد. علاوه بر این، بلوک finally نیز می‌تواند برای اجرای کدی که باید در هر حالت اجرا شود، مورد استفاده قرار گیرد.