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

من موسوعة حسوب
< Python‏ | pathlib‏ | Path
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'== التابع Path.cwd == يعيد كائن مسار جديدًا يمثّل المسار الحالي (بشكل مشابه للتابع os.getcwd)<syntaxhighlight lan...')
 
ط
 
(مراجعتان متوسطتان بواسطة نفس المستخدم غير معروضتين)
سطر 1: سطر 1:
== التابع Path.cwd ==
+
==التابع <code>Path.group</code> في بايثون==
يعيد كائن مسار جديدًا يمثّل المسار الحالي (بشكل مشابه للتابع os.getcwd)<syntaxhighlight lang="python3">
+
يعيد هذا التابع اسم المجموعة التي ينتمي لها الملف، ويرمي الخطأ <code>[[Python/Examples#.D8.A7.D9.84.D8.A7.D8.B3.D8.AA.D8.AB.D9.86.D8.A7.D8.A1 KeyError.C2.A0|KeyError]]</code> إذا كان معرف المجموعة <code>[https://whatis.techtarget.com/definition/GID-group-ID-or-global-index-file gid]</code> الخاص بالملف غير موجود في قاعدة بيانات النظام.
>>> Path.cwd()
 
  
PosixPath('/home/antoine/pathlib')
+
ملاحظة: هذا التابع لا يعمل على نظام ويندوز، ويرمي بالخطأ <code>NotImplementedError</code> في حال استخدامه في نظام ويندوز ، حيث نجد تعريف التابع في [https://github.com/python/cpython/blob/3.7/Lib/pathlib.py الشيفرة المصدرية] كما يلي:<syntaxhighlight lang="python3">
 +
  def group(self):
 +
        raise NotImplementedError("Path.group() is unsupported on this system")
 +
</syntaxhighlight>وهو يعتمد على نتيجة استدعاء التابع [[Python/pathlib/Path/stat|stat]] لتحديد معرف المجموعة، ثم يستخدم التابع [http://pubs.opengroup.org/onlinepubs/007904975/functions/getgrgid.html getgrgid] من الوحدة [http://pubs.opengroup.org/onlinepubs/007904975/basedefs/grp.h.html grp] للحصول على المعلومات الخاصة بالمجموعة.<syntaxhighlight lang="python3">
 +
>>>import pathlib
 +
>>>pathlib.Path('.').stat().st_gid
 +
1000
  
 +
>>>import grp#موجودة فقط في يونكس
 +
   
 +
>>>grp.getgrgid(pathlib.Path('.').stat().st_gid)
 +
grp.struct_group(gr_name='runner', gr_passwd='x', gr_gid=1000, gr_mem=[])
  
</syntaxhighlight><span> </span>
+
>>>grp.getgrgid(pathlib.Path('.').stat().st_gid).gr_name
 +
'runner'
 +
</syntaxhighlight>
 +
==البنية العامة==
 +
يُستخدم التابع ببساطة عن طريق استدعائه في نظام يونكس.
 +
==المعاملات==
 +
بدون معاملات
 +
==القيمة المعادة==
 +
يعيد هذا التابع اسم المجموعة التي ينتمي لها الملف، ويرمي بالخطأ <code>[[Python/Examples#.D8.A7.D9.84.D8.A7.D8.B3.D8.AA.D8.AB.D9.86.D8.A7.D8.A1 KeyError.C2.A0|KeyError]]</code>  إذا كان معرف المجموعة <code>[https://whatis.techtarget.com/definition/GID-group-ID-or-global-index-file gid]</code> الخاص بالملف غير موجود في قاعدة بيانات النظام.
 +
==أمثلة==
 +
<syntaxhighlight lang="python3">
 +
>>>from pathlib import Path
 +
 
 +
>>>p=Path()
 +
 
 +
>>>p
 +
PosixPath('.')
 +
 
 +
>>>print(p.group())
 +
runner
 +
</syntaxhighlight>
 +
==انظر أيضًا==
 +
التابع [[Python/pathlib/Path/stat|stat]] للحصول على معلومات الملف.
 +
 
 +
==مصادر==
 +
<span> </span>
 +
 
 +
[https://docs.python.org/3/library/pathlib.html قسم الوحدة pathlib في توثيق بايثون الرسمي.]

المراجعة الحالية بتاريخ 02:07، 28 أغسطس 2018

التابع Path.group في بايثون

يعيد هذا التابع اسم المجموعة التي ينتمي لها الملف، ويرمي الخطأ KeyError إذا كان معرف المجموعة gid الخاص بالملف غير موجود في قاعدة بيانات النظام.

ملاحظة: هذا التابع لا يعمل على نظام ويندوز، ويرمي بالخطأ NotImplementedError في حال استخدامه في نظام ويندوز ، حيث نجد تعريف التابع في الشيفرة المصدرية كما يلي:

   def group(self):
        raise NotImplementedError("Path.group() is unsupported on this system")

وهو يعتمد على نتيجة استدعاء التابع stat لتحديد معرف المجموعة، ثم يستخدم التابع getgrgid من الوحدة grp للحصول على المعلومات الخاصة بالمجموعة.

>>>import pathlib
>>>pathlib.Path('.').stat().st_gid
1000

>>>import grp#موجودة فقط في يونكس
    
>>>grp.getgrgid(pathlib.Path('.').stat().st_gid)
grp.struct_group(gr_name='runner', gr_passwd='x', gr_gid=1000, gr_mem=[])

>>>grp.getgrgid(pathlib.Path('.').stat().st_gid).gr_name
'runner'

البنية العامة

يُستخدم التابع ببساطة عن طريق استدعائه في نظام يونكس.

المعاملات

بدون معاملات

القيمة المعادة

يعيد هذا التابع اسم المجموعة التي ينتمي لها الملف، ويرمي بالخطأ KeyError إذا كان معرف المجموعة gid الخاص بالملف غير موجود في قاعدة بيانات النظام.

أمثلة

>>>from pathlib import Path

>>>p=Path()

>>>p
PosixPath('.')

>>>print(p.group())
runner

انظر أيضًا

التابع stat للحصول على معلومات الملف.

مصادر

قسم الوحدة pathlib في توثيق بايثون الرسمي.