بررسی وجود دایرکتوری یا فایل در پایتون — به زبان ساده + مثال و کد

۸۵۱ بازدید
آخرین به‌روزرسانی: ۱۴ شهریور ۱۴۰۲
زمان مطالعه: ۳ دقیقه
بررسی وجود دایرکتوری یا فایل در پایتون — به زبان ساده + مثال و کد

اگر به کدنویسی با زبان برنامه‌نویسی پایتون می‌پردازید، احتمالاً تاکنون با این سناریو مواجه شده‌اید که لازم بوده یک فایل یا دایرکتوری خاص را باز کنید، اما مطمئن نبوده‌اید که آیا آن مسیر فایل روی درایو مورد نظر وجود دارد یا نه. بدیهی است که در صورت عدم وجود دایرکتوری، می‌توان با روش‌های مختلف مدیریت خطا این موقعیت را مدیریت کرد. اما چه بهتر است که نگذاریم کار حتی به آنجا بکشد و قبل از این که اقدام به باز کردن فایل یا دایرکتوری کنیم، از وجود یا عدم وجود آن آگاه شویم. با ما همراه باشید تا با روش بررسی فایل در پایتون آشنا شوید.

متد ()exists در پایتون برای بررسی وجود یک فایل یا دایرکتوری خاص مورد استفاده قرار می‌گیرد. همچنین از این متد برای بررسی ارجاعی به یک توصیفگر فایل باز نیز استفاده می‌شود. در صورتی که فایل موجود باشد، این متد مقدار true و در غیر این صورت مقدار false بازگشت می‌دهد. این مد از سوی ماژول os و ماژول فرعی os.path به صورت زیر استفاده می‌شود:

1os.path.exists(path)

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

دستور ()os.path.exists

با استفاده از متد path.exists می‌توانیم به سرعت وجود یا عدم وجود یک فایل را در پایتون بررسی کنیم. مراحل کار به صورت زیر است.

گام اول: ایمپورت کردن ماژول os.path

پیش از آن که کد را اجرا کنید، ابتدا باید ماژول os.path را ایمپورت کنید.

1import os.path
2from os import path

گام دوم: استفاده از تابع ()path.exists

اکنون از تابع ()path.exists در پایتون به منظور بررسی وجود فایل استفاده می‌کنیم.

1path.exists("faradars.txt")

گام سوم: اجرای کد

کد کامل بررسی وجود فایل به صورت زیر است.

1import os.path
2from os import path
3
4def main():
5
6   print ("File exists:"+str(path.exists('guru99.txt')))
7   print ("File exists:" + str(path.exists('career.guru99.txt')))
8   print ("directory exists:" + str(path.exists('myDirectory')))
9
10if __name__== "__main__":
11   main()

در این مثال تنها فایل faradars.txt در دایرکتوری کاری ایجاد شده است. در نتیجه خروجی به شکل زیر است.

خروجی

File exists: True
File exists: False
directory exists: False

روش ()Python isfile

متد ()Python isfile بررسی می‌کند آیا مسیر ارائه شده یک فایل معمولی موجود است یا نه. این متد در صورت وجود فایل، یک مقدار بولی true و در غیر این صورت مقدار false بازگشت می‌دهد. ساختار این دستور به صورت زیر است:

1os.path.isfile(path)

در مثال زیر روش استفاده عملی از این دستور را مشاهده می‌کنید.

1import os.path
2from os import path
3
4def main():
5
6	print ("Is it File?" + str(path.isfile('guru99.txt')))
7	print ("Is it File?" + str(path.isfile('myDirectory')))
8if __name__== "__main__":
9	main()

خروجی کد فوق چنین است.

Is it File? True
Is it File? False

روش ()os.path.isdir

اگر بخواهیم تأیید کنیم که مسیر مفروض واقعاً به یک دایرکتوری اشاره دارد یا نه، می‌توانیم از تابع ()os.path.isdir پایتون کمک بگیریم.

1import os.path
2from os import path
3
4def main():
5
6   print ("Is it Directory?" + str(path.isdir('guru99.txt')))
7   print ("Is it Directory?" + str(path.isdir('myDirectory')))
8
9if __name__== "__main__":
10   main()

خروجی کد فوق چنین است.

Is it Directory? False
Is it Directory? True

روش ()pathlibPath.exists برای پایتون 3.4

در پایتون 3.4 و نسخه‌های بالاتر ماژول pathlib برای مدیریت مسیرها در سیستم فایل اضافه شده است. این ماژول از رویکرد شیء‌گرایی برای بررسی وجود یا عدم وجود پوشه بهره می‌گیرد.

1import pathlib
2file = pathlib.Path("guru99.txt")
3if file.exists ():
4    print ("File exist")
5else:
6    print ("File not exist")

خروجی کد فوق چنین است.

File exist

کد کامل به صورت زیر است.

1import os
2from os import path
3
4def main():
5    # Print the name of the OS
6    print(os.name)
7#Check for item existence and type
8print("Item exists:" + str(path.exists("guru99.txt")))
9print("Item is a file: " + str(path.isfile("guru99.txt")))
10print("Item is a directory: " + str(path.isdir("guru99.txt")))
11
12if __name__ == "__main__":
13    main()

خروجی این کد نیز چنین است.

Item exists: True
Item is a file: True
Item is a directory: False

سخن پایانی

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

بر اساس رای ۱۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
guru99
۲ دیدگاه برای «بررسی وجود دایرکتوری یا فایل در پایتون — به زبان ساده + مثال و کد»

سلام. میشه سوالات مربوط به مقاله تحلیلگر لغوی و نحوی رو هم جواب بدید

سلام و وقت بخیر دوست عزیز؛
با کمال میل پاسخ داده شد.
از توجه شما متشکریم.

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *