مثال 41 پایتون – برنامه ای به پایتون بنویسید که بررسی کند آیا فایل خاصی وجود دارد یا نه.
کد برنامه
1 2 3 |
import os.path print(os.path.isfile('tu24.txt')) print(os.path.isfile('tu24.py')) |
توضیح برنامه
این کد پایتون برای بررسی وجود یک فایل در سیستم فایل استفاده میشود و از ماژول os.path
برای انجام این کار استفاده میکند.
- در ابتدا، ما یک فایل به نام
tu24.txt
و یک فایل دیگر به نامtu24.py
را بررسی می کنیم. - سپس با استفاده از تابع
os.path.isfile()
، بررسی میکنیم که آیا فایلtu24.txt
در سیستم فایل موجود است یا خیر. این تابع یک مسیر (نام و مسیر فایل) را به عنوان ورودی میپذیرد و برای چک کردن وجود فایل مورد استفاده قرار میدهد. اگر فایل وجود داشته باشد، تابعTrue
را برمیگرداند و در غیر این صورتFalse
. - در نهایت، ما فراخوانی تابع
os.path.isfile()
دیگری برای فایلtu24.py
انجام داده و نتایج این فراخوانی فایل ها را چاپ میکنیم.
کد راه حل دوم
1 2 3 |
import os.path print(os.path.exists('tu24.txt')) print(os.path.exists('tu24.py')) |
توضیح راه حل دوم
این کد نیز برای بررسی وجود مسیر یا فایل در سیستم فایل استفاده میشود. از ماژول os.path
برای انجام این کار استفاده میکند.
این بار با استفاده از تابع os.path.exists()
، بررسی میکنیم که آیا مسیر یا فایل مورد نظر وجود دارد یا خیر. این تابع یک مسیر (نام و مسیر فایل یا پوشه) را به عنوان ورودی میپذیرد و برای چک کردن وجود آن مسیر یا فایل مورد استفاده قرار میدهد. اگر مسیر یا فایل وجود داشته باشد، تابع True
را برمیگرداند و در غیر این صورت False
.
کد راه حل سوم
1 2 3 4 5 6 |
try: file_to_open = open('tu.py') file_to_open.close() print("File found!") except FileNotFoundError: print("File not found!") |
توضیح کد راه حل سوم
این کد یک بلاک try...except
دارد که برای باز کردن یک فایل به نام “tu.py” از آن استفاده میکند و در صورت وجود فایل، پیام “File found!” را چاپ میکند. اگر فایل پیدا نشود و خطای FileNotFoundError
رخ دهد، پیام “File not found!” را چاپ میکند.
در اینجا چند نکته مهم وجود دارد:
- درون بلاک
try
یک عملیات باز کردن فایل دارد.open('tu.py')
این عملیات را انجام میدهد. اگر فایل مورد نظر وجود داشته باشد، این کد ادامه مییابد. اگر فایل وجود نداشته باشد، اجرای برنامه به بلاکexcept
منتقل میشود. - بلاک
except
حاوی یک استثناء خاص به نامFileNotFoundError
است. این استثناء در صورتی رخ میدهد که فایل مورد نظر وجود نداشته باشد. - در صورتی که فایل پیدا شود،
file_to_open.close()
فایل را میبندد تا منابع سیستم را آزاد کند. این مرحله کار مهمی است تا منابع سیستم به درستی مدیریت شوند. - در نهایت، پیام متنی که بسته به شرایط (یعنی وجود یا عدم وجود فایل) چاپ میشود را نمایش میدهد.
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)