Python/pathlib/Path/glob

من موسوعة حسوب
< Python‏ | pathlib‏ | Path
مراجعة 23:03، 26 أغسطس 2018 بواسطة مصطفى-عطا (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

التابع Path.glob في بايثون

تعيد جميع الملفات التي تحقق نمط glob المعطى، مهما كان نوع الملف

البنية العامة

glob(pattern)

المعاملات

الوسيط pattern

نمط glob المُراد مُطابقته.

القيمة المعادة

يُعيد قائمة عناصرها كائنات مسار، تُمثّل جميع الملفات التي تحقق نمط glob المعطى.

أمثلة

يبين المثال التالي طريقة استخدام التابع:

>>> sorted(Path('.').glob('*.py'))
[PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')]

>>> sorted(Path('.').glob('*/*.py'))
[PosixPath('docs/conf.py')]

استخدام النمط "**"

يعني النمط "**" تحديد المجلد الحالي وجميه المجلدات الفرعية في داخله بشكل عودي (recursively)، وهو ما يسمّى recursive globbing

>>> sorted(Path('.').glob('**/*.py'))
[PosixPath('build/lib/pathlib.py'),
PosixPath('docs/conf.py'),
PosixPath('pathlib.py'),
PosixPath('setup.py'),
PosixPath('test_pathlib.py')]

ملاحظة: احذر من استخدام النمط "**" في أشجار المجلدات الكبيرة، فإن ذلك قد يستهلك الكثير من الوقت.

انظر أيضًا

التابع rglob المشابه لعمل التابع glob في حالة التكرار العودي على المجلدات باستخدام النمط '**'.

طرق أخرى لمطابقة أنماط glob

مصادر

قسم الوحدة pathlib في توثيق بايثون الرسمي.