Python/pathlib/Path/glob
التابع PurePath.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')]
ملاحظة: احذر من استخدام النمط "**"
في أشجار المجلدات الكبيرة، فإن ذلك قد يستهلك كمية هائلة من الوقت.
البنية العامة
>>> sorted(Path('.').glob('*.py'))
[PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')]
>>> sorted(Path('.').glob('*/*.py'))
[PosixPath('docs/conf.py')]
المعاملات
الوسيط 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')]
انظر أيضًا