الفرق بين المراجعتين ل"Python/pathlib/Path/glob"
اذهب إلى التنقل
اذهب إلى البحث
التابع
الوسيط
(أنشأ الصفحة ب'== التابع Path.cwd == يعيد كائن مسار جديدًا يمثّل المسار الحالي (بشكل مشابه للتابع os.getcwd)<syntaxhighlight lan...') |
ط |
||
سطر 1: | سطر 1: | ||
− | == التابع | + | ==التابع <code>PurePath.glob</code>في بايثون== |
− | + | تعيد جميع الملفات التي تحقق نمط [[wikipedia:Glob_(programming)|glob]] المعطى، مهما كان نوع الملف<syntaxhighlight lang="python3"> | |
− | >>> Path. | + | >>> sorted(Path('.').glob('*.py')) |
+ | [PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] | ||
− | PosixPath('/ | + | >>> sorted(Path('.').glob('*/*.py')) |
+ | [PosixPath('docs/conf.py')] | ||
+ | </syntaxhighlight>يعني النمط <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> في أشجار المجلدات الكبيرة، فإن ذلك قد يستهلك كمية هائلة من الوقت. | ||
+ | ==البنية العامة== | ||
+ | <syntaxhighlight lang="python3"> | ||
+ | >>> sorted(Path('.').glob('*.py')) | ||
+ | [PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] | ||
+ | |||
+ | >>> sorted(Path('.').glob('*/*.py')) | ||
+ | [PosixPath('docs/conf.py')] | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | ==المعاملات== | ||
+ | |||
+ | === الوسيط <code>pattern</code> === | ||
+ | نمط <code>glob</code> المُراد مُطابقته. | ||
+ | |||
+ | ==القيمة المعادة== | ||
+ | يُعيد قائمة عناصرها كائنات مسار، تُمثّل جميع الملفات التي تحقق نمط [[wikipedia:Glob_(programming)|glob]] المعطى. | ||
+ | ==أمثلة== | ||
+ | يبين المثال التالي طريقة استخدام التابع:<syntaxhighlight lang="python3"> | ||
+ | >>> sorted(Path('.').glob('*.py')) | ||
+ | [PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] | ||
+ | |||
+ | >>> sorted(Path('.').glob('*/*.py')) | ||
+ | [PosixPath('docs/conf.py')] | ||
− | </syntaxhighlight><span> </span> | + | </syntaxhighlight> |
+ | ==انظر أيضًا== | ||
+ | <span> </span> | ||
+ | ==مصادر== |
مراجعة 16:26، 3 أغسطس 2018
التابع 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')]
انظر أيضًا