يمكن أن يمثل العثور على الملفات في بايثون تحديًا عندما يختلف موقع الملف عبر أنظمة مختلفة. لحسن الحظ، توفر Python وحدة os.walk التي تمكنك من اجتياز الأدلة وتحديد موقع الملفات بسهولة.
os.walk للبحث عن الملفات
يقوم os.walk بإنشاء مولد. كائن يتكرر على الدليل وأدلته الفرعية، مما ينتج عنه ثلاث صفوف لكل تكرار:
البحث ملف واحد
للعثور على التواجد الأول لملف معين، ما عليك سوى التكرار على المجموعات الناتجة والتحقق مما إذا كان اسم الملف موجودًا في قائمة الملفات:
import os
def find(name, path):
for root, dirs, files in os.walk(path):
if name in files:
return os.path.join(root, name)
البحث عن جميع تكرارات الملف
للعثور على جميع تكرارات الملف، قم بإنشاء قائمة لتخزين المطابقات :
def find_all(name, path):
result = []
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
return result
مطابقة أنماط الملفات
للبحث عن الملفات التي تطابق نمطًا ما، استخدم وحدة fnmatch:
import os, fnmatch
def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
find('*.txt', '/path/to/dir')
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3