اذهب إلى المحتوى
  • 0

كيف لي أن أتحقق من المسار اذا كان ملف أم لا في بايثون ؟

Jafar Ali

السؤال

لدي برنامج كثيرا ما يتعامل مع مسارات الملفات او المجلدات ، كيف يمكنني معرفة ما اذا كان المسار يؤدي الى ملف أم مجلد ؟

مثلًا هذا مسار الى مجلد :

C:\\User1\\Documents\\Folder1

وهذا مسار الى ملف يمكن ان يكون txt او غيره من الملفات:
 

C:\\User1\\Documents\\Folder1\\example.txt

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك أن تستخدم المكتبة os في ذلك ، هي مكتبة تتوفر فيها الكثير من الدوال للتعامل مع النظام، المجلدات،ملفات و غيرها.
في مكتبة os تقوم بإستعمال path مع دالة isfile ، هذه الدالة تقوم بإسترجاع True  اذا كان المسار هو ملف و False اذا كان مجلد ، المثال:
 

import os

# المسار للملف
myfile = "C:\\User1\\Documents\\Folder1\\example.txt"

# التحقق من المسار
isFile = os.path.isfile(myfile)

print(isFile) # تسترجع القيمة True
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

توجد أكثر من طريقة للتأكد مما إذا كان الملف عبارة عن مجلد أن ملف عادي، ومنهh دالة isfile ودالة isdir في مكتبة os

import os
isFile = os.path.isfile("testFile.txt")
isDir = os.path.isdir("testFolder")

print(isFile, isDir)	# Output: True, False

ملاحظة: هذه الدوال سترجع قيمة Flase إن لم يكن الملف أو المجلد موجود مسبقًا.

بالتوفيق.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

باستخدام path.exists ، يمكنك التحقق بسرعة من وجود ملف أو مجلد فيما يلي الخطوات :

from os import path

def main():

   print ("File exists:"+str(path.exists('example.txt'))) #File exists: True
   print ("File exists:" + str(path.exists('dose_not_exist.txt'))) #File exists: False
   print ("directory exists:" + str(path.exists('Folder1'))) #directory exists: False


if __name__== "__main__":
   main()

في حالة الشيفرة المذكورة سابقا فقط example.txt هو الموجود.

كما يمكنك استخدام طريقة Python isfile لمعرفة ما إذا كان المسار المحدد عبارة عن ملف عادي موجود أم لا. تقوم بإرجاع True إذا كان المسار المحدد ملفًا موجودًا أو يرجع Flase. يمكن استخدامه من خلال بناء الجملة: os.path.isfile

from os import path

def main():

	print ("Is it File?" + str(path.isfile('example.txt'))) #Is it File? True
	print ("Is it File?" + str(path.isfile('Folder1'))) #Is it File? False

if __name__== "__main__":
	main()

إذا أردنا التأكد من أن مسارًا معينًا يشير إلى مجلد ، فيمكننا استخدام الدالة os.path.isdir

from os import path

def main():

   print ("Is it Directory?" + str(path.isdir('example.txt'))) #Is it Directory? False
   print ("Is it Directory?" + str(path.isdir('Folder1'))) #Is it Directory? True


if __name__== "__main__":
   main()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...