الفرق بين المراجعتين لصفحة: «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')]
انظر أيضًا