تقنية

uu في بايثون 3.12: لماذا تصبح 1755 في الترويسة 755؟

قناع النمط
قيمة ثمانية. [1] [2] [3]

نرمّز ثلاثة بايتات مؤلفة بالذاكرة. [1] [2] [3]

الخلاصة السريعة

يحتفظ التنفيذ بـ mode & 0o777، لا العدد كله. [1] [2] [3]

  • الخرج: begin 755 own.bin في 3.12.14. [1] [2] [3]
  • القيمتان 0o1755 و0o755 تنتجان حقل النمط نفسه. [1] [2] [3]
  • الأرقام ثمانية؛ القناع يحتفظ بالبتات التسعة الدنيا. [1] [2] [3]
  • own.bin اسم في الترويسة؛ لم ننشئه أو نغيّر صلاحيات ملف. [1] [2] [3]
  • المكتبة مهجورة منذ 3.11 ومحذوفة منذ 3.13. [1] [2] [3]

المثال

import io,uu
with io.BytesIO(b"ABC") as src,io.BytesIO() as out:
 uu.encode(src,out,name="own.bin",mode=0o1755)
 print(out.getvalue().splitlines()[0].decode("ascii"))

[1] [2] [3]

الحقل والقيمة

يكتب التنفيذ النمط المقنّع بصيغة ثمانية. نطبع أول سطر فقط؛ ليس البيانات المرمّزة كلها. الاسم والنمط معلومات افتراضية لفك الترميز، وليسا تعديلًا للصلاحيات في عملية الذاكرة هذه. [1] [2] [3]

ترويسة بالذاكرة
لا تعديل صلاحيات. [1] [2] [3]

الحدود

هذا شرح لواجهة قديمة؛ لم نختبر إنشاء ملف أو تطبيق صلاحيات على نظام تشغيل. [1] [2] [3]

المراجع

  1. Python3.12: uu.encode
  2. CPython3.12.14: uu.py
  3. Python: uu removal
  4. موضوع تك: لغة بايثون — مفردات
  5. موضوع تك: تطبيقات بايثون — مفردات

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.