الوحدة os في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

توفر هذه الوحدة آلية محمولة لاستخدام الوظائف والأدوات التي تعتمد على نوع نظام التشغيل.

‎‎>>> import os
>>> os.getcwd()
'/home/username'

ملاحظات

  • تستخدم وظائِف جميع الوحدات المبنيّة في بايثون، والمعتمدة على نوع نظام التشغيل، في جميع الأنظمة المتوافرة فيها نفس الواجهة (interface). فعلى سبيل المثال، تُعيد الدالة os.stat(path)‎‎ معلومات حول المسار المُدخَل بنفس التنسيق على جميع الأنظمة التي تتوافر فيها الدالة (الواجهة المُستخدمة هنا مماثلة لتلك المُستخدمة في واجهة POSIX).
  • تتوفر أيضًا إمكانيّة إضافة إضافات خاصة لنظام تشغيل مُعين عبر الوحدة os، ولكن هذا سيؤدي إلى فقدان البرنامج لمحموليته.
  • تستقبل جميع الدوال التي يُمرَّر لها مسارات (paths) أو أسماء ملفات بايتات (bytes) أو سلاسل نصيّة، كما وتُعيد كائِن مِنْ نفس النوع في حال كانت قيمتها المُعادة مسارًا أو اسم ملف.
  • تعني الملاحظة "متوافرة في يونُكس" أن هذه الدالة تعمل بشكل عام في أنظمة يونكس (Unix). لا تُحدِّد هذه الملاحظة تواجد الدالة في نظام تشغيل مُعين.
  • جميع الدوال التي تحمل الملاحظة "متوافرة في يونكس"، ما لم يُذكِر العكس، تعمل على نظام Mac OS X؛ وذلك لكونِه نظامًا مبنيًا على نواة شبيهة بيونكس.

ملاحظة: تُصدِر جميع الدوال في هذه الوحدة الخطأ OSError في حال مُرَّرت أسماء ملفات أو مسارات غير صالحة لها، أو في حال مُرِّرَ لها مُعطيات ذات نوع صحيح ولكن لم تُقبَل من نظام التشغيل.

أسماء الملفات ومُعطيات سطر الأوامر ومُتغيّرات البيئة

سجل التغييرات
الإصدار التغييرات
3.1 قد يفشَل التحويل باستخدام نظام ترميز الملفات في بعض الأنظمة. تستخدم بايثون مُعالِج الأخطاء surrogateescape للتعامل مع هذا، ما يعني أنَّ وحدات البايت الغير قابلة لفك الترميز ستُستبَدل بمِحرَف يونيكود U+DCxx عند فك الترميز، ومن ثمَّ ستُحوَّل هذه المحارِف مرَّة أخرى إلى وحدات البايت الأصليّة عند الترميز.

تُمثَّل أسماء الملفات ومُعطيات سطر الأوامر (command line arguments) ومُتغيّرات البيئة في بايثون باستخدام السلاسل النصيّة. يَلزَم فك ترميز هذه السلاسل، على بعض الأنظمة والمنصات، من وإلى وحدات البايت (bytes) قبل تمريرها إلى نظام التشغيل. تستخدم لغة بايثون نظام ترميز الملفات (file system encoding) لإجراء هذه العملية (طالِع توثيق الدالة ‎sys.getfilesystemencoding()‎).

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

معاملات العمليات

تُقدِم الدوال وعناصر البيانات التالية معلومات وعمليات على المُستخدِم والعملية (process) الحالية.

إنشاء الملفات

تُنشِئ هذه الدالة كائِن ملف جديد (file object) (طالِع أيضًا الدالة ‎open()‎ لفتح واصِفات الملفات).

واصفات الملفات

تُجري هذه الدوال عمليات على مجاري (streams) الإدخال والإخراج المُشار إليها بواسطة واصِفات الملفات (file decriptors).

واصِف الملفات هو عبارة عن قيمة عدديّة صحيحة صغيرة تُقابِل الملف المفتوح بواسطة العملية الحالية. على سبيل المثال، يُمثَّل مجرى الدخل القياسي (standard input) بواصِف الملفات 0، ومجرى الخرج القياسي (standard output) بواصِف الملفات 1، ومجرى الأخطاء القياسي بواصِف الملفات 2. ستُسنَد للملفات الأخرى التي ستُفتَح بواسطة العمليّة نفسها واصِفات الملفات 3 و4 و5 ...إلخ. الاسم "واصِف الملفات" مُضلِّل قليلًا؛ كونُه يُستخدم، في أنظمة يونكس، للإشارة للمقابِس (sockets) والمضخات (pipes) أيضًا.

التعامل مع الملفات والمُجلَّدات

إدارة العمليات

واجهة جدولة العمليات

أدوات للحصول على معلومات متنوعة حول النظام

أدوات لتوليد أرقام عشوائيّة

مصادر