الفرق بين المراجعتين ل"Python/pathlib"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(التعديل قبل الأخير)
سطر 4: سطر 4:
  
 
=== صنف المسارات النقية<code>PurePaths</code> ===
 
=== صنف المسارات النقية<code>PurePaths</code> ===
يقدم هذا الصنف عمليات لحساب المسارات دون أي عمليات إدخال أو إخراج، أي أنه لا يتم الوصول الفعلي إلى نظام الملفات أبدًا.  وتوجد ثلاث طرائق للوصول إلى هذه الأصناف، ونسمي هذه الطرائق بالنكهات. <syntaxhighlight lang="python3">
+
يقدم هذا الصنف عمليات لحساب المسارات دون أي عمليات إدخال أو إخراج، أي أنه لا يتم الوصول الفعلي إلى نظام الملفات أبدًا.  وتوجد ثلاث طرائق للوصول إلى هذه الأصناف، ونسمي هذه الطرائق بالنكهات. 
class pathlib.PurePath(*pathsegments)
+
 
</syntaxhighlight>هو صنف عام يمثل نكهة مسار النظام (حيث يُنشأ كائن من نوع PurePosixPath أو PureWindowsPath عند إنشاء كائن منه)<syntaxhighlight lang="python3">
+
هو صنف عام يمثل نكهة مسار النظام (حيث يُنشأ كائن من نوع <code>PurePosixPath</code> أو <code>PureWindowsPath</code> عند إنشاء كائن منه)<syntaxhighlight lang="python3">
 
class pathlib.PurePosixPath(*pathsegments)
 
class pathlib.PurePosixPath(*pathsegments)
</syntaxhighlight>هو صنف الفرعي من الصنف PurePath، ويمثل مسارات نظام الملفات في الأنظمة المغايرة لويندوز<syntaxhighlight lang="python3">
+
</syntaxhighlight>هو الصنف الفرعي من الصنف <code>PurePath</code> الذي يمثل مسارات نظام الملفات في الأنظمة المغايرة لويندوز<syntaxhighlight lang="python3">
 
class pathlib.PureWindowsPath(*pathsegments)
 
class pathlib.PureWindowsPath(*pathsegments)
</syntaxhighlight> هو صنف الفرعي من الصنف PurePath، ويمثل مسارات نظام الملفات في ويندوز
+
</syntaxhighlight> هو الصنف الفرعي من الصنف <code>PurePath</code> الذي يمثل مسارات نظام الملفات في ويندوز
  
 
صنف المسارات الصلبة<code>ConcretePaths</code>
 
صنف المسارات الصلبة<code>ConcretePaths</code>
  
يرث هذا الصنف من الصنف <code>PurePaths</code>  ولكن مع تقديمه لعمليات الإدخال والإخراج.
+
يرث هذا الصنف من الصنف <code>PurePaths</code>  ولكن مع تقديمه لعمليات الإدخال والإخراج، أي أن الكائنات المنشأة منه قادرة على الوصول الفعلي لملفات النظام والتعديل عليها، ويمكن إنشاء كائنات من هذا الصنف بثلاث طرق (نكهات مختلفة)<syntaxhighlight lang="python3">
 
+
class pathlib.Path(*pathsegments)
ملاحظة بخصوص الاستخدام لأول مرة
+
</syntaxhighlight>هو الصنف حيث يُنشأ كائن من أحد الصنفين <code>PosixPath</code>  أو <code>WindowsPath</code>. عند إنشاء كائن منه.<syntaxhighlight lang="python3">
 
+
class pathlib.PosixPath(*pathsegments)
إن لم تكن قد استخدمت هذه الوحدة من قبل أو أنك غير متأكد أي صنف عليك أن تستخدم لأداء مهمة ما، فعلى الأغلب عليك استخدام الصنف <code>Path</code> الذي يتولد (instantiates) من صنف المسارات الصلبة بما يلائم المنصة التي تُفسّر فيها الشيفرة البرمجية. {| class="wikitable" |انظر أيضًا  للقيام بمعالجة منخفضة المستوى للمسارات على السلاسل النصية، يمكنك أيضًا استخدام الوحدة os.path |}
+
</syntaxhighlight>هو الصنف فرعي الذي يمثل المسارات الصلبة لمسارات أنظمة الملفات المغايرة لنظام ويندوز.<syntaxhighlight lang="python3">
 
+
class pathlib.WindowsPath(*pathsegments)
11.1.3. Concrete paths
+
</syntaxhighlight>هو الصنف الفرعي الذي يمثل المسارات الصلبة لمسارات أنظمة ملفات ويندوز.
 
 
المسارات الصلبة هي أصناف فرعية من أصناف المسارات النقية، وهي تقدم إضافة لكل ما سبق طرائق للقيام باستدعاءات من النظام على كائنات المسار، وهناك ثلاث طرق لإنشاء كائن من المسارات الصلبة Concrete paths are subclasses of the pure path classes. In addition to operations provided by the latter, they also provide methods to do system calls on path objects. There are three ways to instantiate concrete paths: class pathlib.Path(*pathsegments) هو صنف فرعي من الصنف PurePath يمثل المسارات الصلبة لنكهات المسارات المختلفة للنظام، وعند إنشاء كائن منه يُنشأ كائن من أحد الصنفين PosixPath  أو WindowsPath. A subclass of PurePath, this class represents concrete paths of the system’s path flavour (instantiating it creates either a PosixPath or a WindowsPath): class pathlib.PosixPath(*pathsegments) هو صنف فرعي من الصنف Path  والصنف PurePosixPath، يمثل المسارات الصلبة لمسارات أنظمة الملفات المغايرة لنظام ويندوز. A subclass of Path and PurePosixPath, this class represents concrete non-Windows filesystem paths: class pathlib.WindowsPath(*pathsegments) هو صنف فرعي من الصنف Path  والصنف PurePosixPath، يمثل المسارات الصلبة لمسارات أنظمة ملفات ويندوز. A subclass of Path and PureWindowsPath, this class represents concrete Windows filesystem paths:
 
 
 
11.1.4. تقابل الأدوات المذكورة مع وحدة os
 
  
= يبيّن الجدول التالي تقابل عدة توابع من الوحدة os  مع ما يقابلها و يكافئها من الوحدة PurePath و Path. Below is a table mapping various os functions to their corresponding PurePath/Path equivalent. ملاحظة: بالرغم من وجود بعض التقاطع في حالات استخدام التابعين os.path.relpath‎‎()‎ والتابع PurePath.relative_to()‎ إلا أن مدلول كل منهما مختلف بما يدعو لعدم اعتبارهما متكافئين. Note Although os.path.relpath() and PurePath.relative_to() have some overlapping use-cases, their semantics differ enough to warrant not considering them equivalent.  {| class="wikitable" |الوحدة os والوحدة os.path |pathlib |- |os.path.abspath() |Path.resolve() |- |os.getcwd() |Path.cwd() |- |os.path.exists() |Path.exists() |- |os.path.expanduser() |Path.expanduser() و Path.home() |- |os.path.isdir() |Path.is_dir() |- |os.path.isfile() |Path.is_file() |- |os.path.islink() |Path.is_symlink() |- |os.stat() |Path.stat(),Path.owner(), Path.group() |- |os.path.isabs() |PurePath.is_absolute() |- |os.path.join() |PurePath.joinpath() |- |os.path.basename() |PurePath.name |- |os.path.dirname() |PurePath.parent |- |os.path.splitext() |PurePath.suffix |}
+
=== ملاحظة بخصوص الاستخدام لأول مرة ===
** =
+
إن لم تكن قد استخدمت هذه الوحدة من قبل أو أنك غير متأكد أي صنف عليك أن تستخدم لأداء مهمة ما، فعلى الأغلب عليك استخدام الصنف <code>Path</code> الذي يتولد (instantiates) من صنف المسارات الصلبة بما يلائم المنصة التي تُفسّر فيها الشيفرة البرمجية.
Previous topic
 
  
11. File and Directory Access
+
{| class="wikitable"
 +
|'''انظر أيضًا'''
 +
للقيام بمعالجة منخفضة المستوى للمسارات على السلاسل النصية، يمكنك أيضًا استخدام الوحدة os.path
 +
|}
  
Next topic
+
=== التقابل مع الوحدة os ===
 +
يبيّن الجدول التالي تقابل عدة توابع من الوحدة os  مع ما يقابلها و يكافئها من الوحدة PurePath و Path.
  
11.2. os.path — Common pathname manipulations
+
ملاحظة:
  
This Page
+
بالرغم من وجود بعض التقاطع في حالات استخدام التابعين os.path.relpath‎‎()‎ والتابع PurePath.relative_to()‎ إلا أن مدلول كل منهما مختلف بما يدعو لعدم اعتبارهما متكافئين.
  
=
+
{| class="wikitable"
* Report a Bug
+
|الوحدة os والوحدة os.path
* Show Source =
+
|pathlib
 +
|-
 +
|os.path.abspath()
 +
|Path.resolve()
 +
|-
 +
|os.getcwd()
 +
|Path.cwd()
 +
|-
 +
|os.path.exists()
 +
|Path.exists()
 +
|-
 +
|os.path.expanduser()
 +
|Path.expanduser() و Path.home()
 +
|-
 +
|os.path.isdir()
 +
|Path.is_dir()
 +
|-
 +
|os.path.isfile()
 +
|Path.is_file()
 +
|-
 +
|os.path.islink()
 +
|Path.is_symlink()
 +
|-
 +
|os.stat()
 +
|Path.stat(),Path.owner(), Path.group()
 +
|-
 +
|os.path.isabs()
 +
|PurePath.is_absolute()
 +
|-
 +
|os.path.join()
 +
|PurePath.joinpath()
 +
|-
 +
|os.path.basename()
 +
|PurePath.name
 +
|-
 +
|os.path.dirname()
 +
|PurePath.parent
 +
|-
 +
|os.path.splitext()
 +
|PurePath.suffix
 +
|}
 +
*  
 
*
 
*

مراجعة 10:06، 27 يوليو 2018

 pathlib — وحدة مسارات نظام الملفات كائنية التوجه

أُضيفت هذه الوحدة إلى بايثون في النسخة 3.4 وتقدم هذه الوحدة أصنافًا تمثّل مسارات نظام التشغيل مع دلالات ملائمة لمختلف أنظمة التشغيل. تنقسم أصناف المسارات إلى نوعين:

صنف المسارات النقيةPurePaths

يقدم هذا الصنف عمليات لحساب المسارات دون أي عمليات إدخال أو إخراج، أي أنه لا يتم الوصول الفعلي إلى نظام الملفات أبدًا. وتوجد ثلاث طرائق للوصول إلى هذه الأصناف، ونسمي هذه الطرائق بالنكهات. 

هو صنف عام يمثل نكهة مسار النظام (حيث يُنشأ كائن من نوع PurePosixPath أو PureWindowsPath عند إنشاء كائن منه)

class pathlib.PurePosixPath(*pathsegments)

هو الصنف الفرعي من الصنف PurePath الذي يمثل مسارات نظام الملفات في الأنظمة المغايرة لويندوز

class pathlib.PureWindowsPath(*pathsegments)

هو الصنف الفرعي من الصنف PurePath الذي يمثل مسارات نظام الملفات في ويندوز

صنف المسارات الصلبةConcretePaths

يرث هذا الصنف من الصنف PurePaths  ولكن مع تقديمه لعمليات الإدخال والإخراج، أي أن الكائنات المنشأة منه قادرة على الوصول الفعلي لملفات النظام والتعديل عليها، ويمكن إنشاء كائنات من هذا الصنف بثلاث طرق (نكهات مختلفة)

class pathlib.Path(*pathsegments)

هو الصنف حيث يُنشأ كائن من أحد الصنفين PosixPath  أو WindowsPath. عند إنشاء كائن منه.

class pathlib.PosixPath(*pathsegments)

هو الصنف فرعي الذي يمثل المسارات الصلبة لمسارات أنظمة الملفات المغايرة لنظام ويندوز.

class pathlib.WindowsPath(*pathsegments)

هو الصنف الفرعي الذي يمثل المسارات الصلبة لمسارات أنظمة ملفات ويندوز.

ملاحظة بخصوص الاستخدام لأول مرة

إن لم تكن قد استخدمت هذه الوحدة من قبل أو أنك غير متأكد أي صنف عليك أن تستخدم لأداء مهمة ما، فعلى الأغلب عليك استخدام الصنف Path الذي يتولد (instantiates) من صنف المسارات الصلبة بما يلائم المنصة التي تُفسّر فيها الشيفرة البرمجية.

انظر أيضًا

للقيام بمعالجة منخفضة المستوى للمسارات على السلاسل النصية، يمكنك أيضًا استخدام الوحدة os.path

التقابل مع الوحدة os

يبيّن الجدول التالي تقابل عدة توابع من الوحدة os  مع ما يقابلها و يكافئها من الوحدة PurePath و Path.

ملاحظة:

بالرغم من وجود بعض التقاطع في حالات استخدام التابعين os.path.relpath‎‎()‎ والتابع PurePath.relative_to()‎ إلا أن مدلول كل منهما مختلف بما يدعو لعدم اعتبارهما متكافئين.

الوحدة os والوحدة os.path pathlib
os.path.abspath() Path.resolve()
os.getcwd() Path.cwd()
os.path.exists() Path.exists()
os.path.expanduser() Path.expanduser() و Path.home()
os.path.isdir() Path.is_dir()
os.path.isfile() Path.is_file()
os.path.islink() Path.is_symlink()
os.stat() Path.stat(),Path.owner(), Path.group()
os.path.isabs() PurePath.is_absolute()
os.path.join() PurePath.joinpath()
os.path.basename() PurePath.name
os.path.dirname() PurePath.parent
os.path.splitext() PurePath.suffix