الفرق بين المراجعتين لصفحة: «Python/pathlib/Path/glob»
طلا ملخص تعديل |
طلا ملخص تعديل |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
==التابع <code> | ==التابع <code>Path.glob</code> في بايثون== | ||
تعيد جميع الملفات التي تحقق نمط [[wikipedia:Glob_(programming)|glob]] المعطى، مهما كان نوع الملف | تعيد جميع الملفات التي تحقق نمط [[wikipedia:Glob_(programming)|glob]] المعطى، مهما كان نوع الملف | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
glob(pattern) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
سطر 42: | سطر 21: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== استخدام النمط <code>"**"</code> === | |||
يعني النمط <code>"**"</code> تحديد المجلد الحالي وجميه المجلدات الفرعية في داخله بشكل عودي (recursively)، وهو ما يسمّى recursive globbing<syntaxhighlight lang="python3"> | |||
>>> sorted(Path('.').glob('**/*.py')) | |||
[PosixPath('build/lib/pathlib.py'), | |||
PosixPath('docs/conf.py'), | |||
PosixPath('pathlib.py'), | |||
PosixPath('setup.py'), | |||
PosixPath('test_pathlib.py')] | |||
</syntaxhighlight><span> </span>ملاحظة: احذر من استخدام النمط <code>"**"</code> في أشجار المجلدات الكبيرة، فإن ذلك قد يستهلك الكثير من الوقت. | |||
==انظر أيضًا== | ==انظر أيضًا== | ||
<span> </span> | التابع [[Python/pathlib/Path/rglob|rglob]] المشابه لعمل التابع glob في حالة التكرار العودي على المجلدات باستخدام النمط <code>'**'</code>. | ||
<span> [https://stackoverflow.com/questions/2186525/use-a-glob-to-find-files-recursively-in-python طرق أخرى لمطابقة أنماط glob]</span> | |||
==مصادر== | ==مصادر== | ||
[https://docs.python.org/3/library/pathlib.html قسم الوحدة pathlib في توثيق بايثون الرسمي.] |
المراجعة الحالية بتاريخ 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 في حالة التكرار العودي على المجلدات باستخدام النمط '**'
.