ما هي وحدة نظام التشغيل Python وكيف تستخدمها؟
توفر وحدة نظام التشغيل في Python الوصول إلى وظائف خاصة بالنظام للتعامل مع نظام الملفات والعمليات وجدول المواعيد وما إلى ذلك. تحتاج إلى إتقان نظام Python OS لكتابة التطبيقات التي تتعامل مع مشاكل العالم الحقيقي. يناقش هذا الدليل بعض المفاهيم الأساسية ويوضح كيفية استخدام أمر نظام Python.
ميزات نظام Python OS
يعمل نظام OS كطريقة محمولة للتفاعل مع نظام التشغيل الأساسي. يوفر الوصول إلى أسماء الملفات ، وسيطات سطر الأوامر ، ومتغيرات البيئة ، ومعلمات العملية ، والتسلسل الهرمي لنظام الملفات جنبًا إلى جنب مع الوظائف الأخرى.

تحتوي هذه الوحدة أيضًا على وحدتين فرعيتين ، وحدة os.sys ، ووحدة os.path. يمكنك استخدام الوظائف التي توفرها وحدة نظام التشغيل لأداء مجموعة واسعة من المهام. تتضمن بعض الاستخدامات الشائعة تنفيذ أوامر shell وإدارة الملفات والأدلة وعمليات التفريخ وما إلى ذلك.
الشروع في استخدام وحدة نظام التشغيل
أسهل طريقة لاستكشاف وحدة نظام التشغيل هي من خلال المترجم. يمكنك استيراد الوحدة هناك واستخدام وظائف النظام دون كتابة كود المصدر. ومع ذلك ، تحتاج إلى تثبيت Python لهذا الغرض. لذا انطلق وقم بتثبيت Python على جهازك المحلي.
ابدأ المترجم الفوري عن طريق كتابة python في Terminal أو command shell. بمجرد فتحه ، قم باستيراد وحدة نظام التشغيل باستخدام العبارة التالية.
>>> import os
يمكنك الآن الوصول إلى الوظائف التي توفرها وحدة نظام التشغيل ، بما في ذلك أمر نظام Python. على سبيل المثال ، يمكنك تحديد النظام الأساسي للنظام باستخدام الأمر name . يوضح المثال أدناه كيفية استدعاء أوامر النظام التي تعرضها وحدة نظام التشغيل.
>>> os.name
تتحقق هذه الوظيفة من وجود وحدات معينة خاصة بنظام التشغيل وتحديد النظام الأساسي بناءً على ذلك. استخدم وظيفة uname للحصول على معلومات مفصلة.
>>> os.uname()
يعرض هذا الأمر النظام الأساسي للنظام تمامًا جنبًا إلى جنب مع معلومات بنية الجهاز وإصداره وإصداره. استخدم وظيفة getcwd لاسترداد دليل العمل الحالي.
>>> os.getcwd()

يمكنك بسهولة تغيير دليل العمل باستخدام أمر chdir الخاص بنظام Python. قم بتمرير الموقع الجديد كمعامل سلسلة.
>>> os.chdir('/tmp')
وظيفة mkdir لوحدة نظام التشغيل تجعل إنشاء أدلة جديدة أمرًا سهلاً . كما يسمح لنا أيضًا بإنشاء مجلدات متكررة ، مما يعني أن Python ستنشئ جميع الأدلة المفقودة التي هي آباء لمجلد الأوراق.
>>> os.mkdir('new-dir')
استخدم الأمر rmdir لحذف الأدلة من دليل العمل الخاص بك.
>>> os.rmdir('new-dir')
أمثلة على أوامر نظام بايثون
يسمح أمر النظام الذي توفره وحدة نظام التشغيل للمبرمجين بتنفيذ أوامر shell. تأكد من تحديد اسم الأمر كسلسلة. بمجرد استدعاء أمر نظام python ، سيتم تشغيل الأمر المحدد في مجموعة فرعية جديدة.
>>> cmd = 'date'
>>> os.system(cmd)

يمكنك تشغيل تطبيقات أخرى قائمة بذاتها باستخدام نفس الطريقة. المثال التالي ينفذ المحرر الطرفي nano من غلاف Python الخاص بك.
>>> cmd = 'nano'
>>> os.system(cmd)
يقوم نظام Python OS أيضًا بإخراج رمز الإرجاع لكل أمر يتم تنفيذه. تقوم أنظمة POSIX بإرجاع القيمة 0 للتنفيذ الناجح والقيم غير الصفرية للإشارة إلى المشكلات.
يمكنك استخدام نظام OS في Python لتشغيل أي شيء تريده. على سبيل المثال ، إذا احتاج برنامجك إلى قراءة معلومات إصدار برنامج ما على جهاز المستخدم ، فيمكنك القيام بشيء مثل ما يلي.
>>> cmd = 'gcc --version'
>>> os.system(cmd)

ينفذ المثال أدناه أمر shell بسيطًا يُنشئ ملفًا جديدًا يسمى users.txt ويملأه بجميع المستخدمين الذين قاموا بتسجيل الدخول. تقوم الكثير من برامج Python بهذه الأشياء.
>>> os.system('users > test')
نقوم بتمرير اسم الأمر إلى نظام OS كسلسلة. يمكنك استخدام جميع أنواع الأوامر الطرفية المفيدة بنفس الطريقة.
>>> os.system('ping -c 3 google.com')
يمكنك أيضًا استخدام استدعاءات العملية الفرعية لتنفيذ أوامر النظام من Python. يوفر هذا العديد من المزايا الإضافية ، بما في ذلك وقت التشغيل الأسرع ، وتحسين معالجة الأخطاء ، وتحليل الإخراج ، وأوامر غلاف الأنابيب. توصي وثائق Python الرسمية أيضًا باستدعاء العملية الفرعية على الوحدات القديمة مثل os.system و os.spawn .
>>> import subprocess
>>> subprocess.run(["ping","-c 3", "example.com"])

إدارة الملفات والدلائل عبر وحدة نظام التشغيل
لقد أوضحنا كيفية إنشاء ملفات وأدلة بسيطة باستخدام وحدة Python OS. ماذا لو كنت تريد إنشاء مجلدات متداخلة؟ يعتني نظام OS أيضًا بهذا الأمر بالنسبة لنا نحن المبرمجين. على سبيل المثال ، تُنشئ المقتطفات أدناه المجلد $ HOME / test / root / api . سيقوم أيضًا بإنشاء الدلائل الرئيسية الضرورية إذا لم تكن متوفرة.
>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)
أولاً ، استرجعنا المجلد الرئيسي باستخدام environ ثم ضمنا أسماء المجلدات عبر os.path.join . يعرض بيان الطباعة اسم المجلد ، وتقوم الأجهزة بإنشائه.

يمكننا عرض الدليل الجديد باستخدام طريقة listdir لوحدة نظام التشغيل.
>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])
يمكنك بسهولة إعادة تسمية دليل api باستخدام الأمر rename الذي توفره وحدة نظام التشغيل. البيان أدناه يعيد تسمية دليل api هذا إلى test-api.
>>> os.rename('api', 'test-api')
استخدام وظيفة isfile وisdir من نظام التشغيل إذا احتياجات البرنامج لملفات محددة التحقق من صحة أو الدلائل.
>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

تسمح وحدة نظام التشغيل في Python أيضًا للمطورين باستخراج أسماء الملفات والمجلدات جنبًا إلى جنب مع امتدادات الملفات. توضح المقتطفات أدناه استخدام os.path.split و os.path.splitext في هذا الصدد.
>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)
استخدم الكود أدناه لاستخراج الامتدادات مثل .txt أو .mp3 من أسماء الملفات.
>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)
الاستخدام المتنوع لنظام Python OS
توفر وحدة نظام التشغيل العديد من الوظائف الإضافية لمعالجة أشياء مثل عمليات المستخدم وجدولة العمل. على سبيل المثال ، يمكنك الحصول بسرعة على UID (معرف المستخدم) للعملية الحالية باستخدام وظيفة getuid .
>>> os.getuid()
>>> os.getgid()
ترجع الدالة getgid معرّف المجموعة للعملية الجارية. استخدم getpid للحصول على PID (معرف العملية) و getppid للحصول على معرف العملية الأصل.
>>> os.getpid()
>>> os.getppid()

يمكنك أيضًا استخدام وحدة نظام التشغيل لتغيير أذونات الملفات والدلائل من برنامج بايثون الخاص بك. استخدم وظيفة chmod في نظام التشغيل للقيام بذلك.
>>> os.chmod('file1.txt', 0o444)
يغير هذا الأمر إذن file1.txt إلى 0444 . استخدم 0o444 بدلاً من 0444 للتأكد من أن العبارة متوافقة عبر كلا الإصدارين الرئيسيين من Python.
استغل قوة نظام Python OS
توفر وحدة نظام التشغيل Python كل ما تحتاجه للتفاعل مع نظام التشغيل الأساسي. هناك حاجة إلى فهم واضح لنظام OS لكتابة برامج عبر الأنظمة الأساسية حقًا. لقد قمنا بتغطية بعض الوظائف الأساسية التي توفرها هذه الوحدة لمساعدتك على البدء. جربهم وفقًا لسرعتك الخاصة ، ولا تنس العبث بها.