شرح مكتبة sys مكتبة نظام البايثون - ProgrammerTech
Language:

Search

شرح مكتبة sys مكتبة نظام البايثون

  • Share this:
شرح مكتبة sys مكتبة نظام البايثون

مكتبة نظام بايثون sys module

مكتبة sys هي مكتبة النظام و هي إختصار للكلمة System و تختَص و تهتَم في الوظائف الخاصة بالنظام و تُعطي الكثير من الإمكانيات للبئية التي يعمل عليها البايثون, و الـ sys module يتعامل مع stdout و stdin و stderr و المدخلات argv.

 

معرفة إصدار البايثون بواسطة مكتبة sys

لمعرفة إصدار البايثون في النظام الخاص بنا نقوم بكتابة الأمر الآتي في الشل أو أي محرر نستخدمه للبايثون.

>>> import sys
>>> print("Python version", sys.version)
Python version 3.9.2 (default, Feb 28 2021, 17:03:44)

نلاحظ أنه عند تشغيل الكود طبع لنا إصدار البايثون الحالي الذي اعمل به وهو 3.9.2.

 

معرفة معلومات عن تأسيس البايثون

لمعرفة بعض المعلومات عن بايثون أي يعني Copyright عن طريق مكتبة sys مثل معلومات عن تأسيس البايثون و المعلومات الخاصة الأخرى.

>>> import sys
>>> print(sys.copyright)

عند الضغط على زر Enter يكون يعطينا النتيجة و هي بعض المعلومات عن بايثون بالشكل.

Copyright (c) 2001-2021 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.

كما لاحظنا قام بإعطائنا بعض المعلومات عن بايثون بشكل عام.

 

معرفة منصة العمل الحالية بواسطة مكتبة sys

يتوفر في مكتبة sys ميثود جيدة و هي platform و تكون مهمتها عرض منصة العمل التي نعمل عليها في بايثون, و تكون كتابة أمرها بالشكل.

>>> import sys
>>> print(sys.platform)

و عند النقر على زر Enter سوف يعطيني النتيجة.

Linux

كما لاحظنا لقد أعطاني النتيجة Linux ﻷني أستخدم نظام لينكس في حاسوبي, في كان حاسوبك عليه نظام ويندوز سوف تكون نتيجة win32 أو win64 حسب نواة الحاسوب.

 

عرض إسم الملف الحالي بواسطة مكتبة sys

لمعرفة إسم الملف الذي أقوم بالعمل عليه في الوقت الحالي في بايثون نقوم بإستخدام argv و سوف يعطينا النتيجة إسم الملف كما أسميته لبدء العمل.

>>> import sys
>>> print(sys.argv)

عندما نضغط على Enter سوف يعطينا إسم الملف موضوعاً في مصفوفة مثلاً ahmed.py أو في حال كنا نعمل على الشل مباشرتاً سوف يعطينا مصفوفة بمحتوى فارغ [' '].

 

عرض جميع مسارات البايثون في الحاسوب

نستخدم في عرض مسارات البايثون الميثود path يمكننا هذا الميثود من معرفة جميع المسارات الخاصة في البايثون في الحاسوب الحالي.

>>> import sys
>>> print(sys.path)

عندما نقوم بالضغط على Enter سوف يعرض لنا مسارات البايثون في الحاسوب.

 

عرض الإخراج بواسطة stdout.write مكتبة sys

عن طريق مكتبة نظام البايثون يمكننا قراءة أي نص و نمرر هذا النص بواسطة stdout.write كـ مخرج و تحتوي على متغيرات و طرق تتفاعل مع المترجم وتحكمها أيضاً, و يستخدم stdout لعرض الإخراج مباشرتاً إلى وحدة تحكم الشاشة و يمكن أن تكون المخرجات بأي شكل و يمكن إخراجها من عبارة طباعة.

>>>import sys
>>>sys.stdout.write("hello world")
'hello world11'

في هذا المثال قلنا للشل إقرأ لنا نص str ينطبع لنا على الشاشة وهو كلمة hello world و بالفعل طبعها لنا و طبع بجانبها رقم 11 و هذا الرقم يعني عدد أحرف الكلمة مع حسب المسافة الفاصله ايضاً.

 

عرض أخطاء نظام التشغيل بواسطة stderr.write

نستخدم stderr.write الموجودة في مكتبة sys من أجل عرض الأخطاء.

>>>import sys
>>>sys.stderr.write("Error")
Error5

قلنا له اطبع لنا على الشاشة خطأ error و طبع لنا Error بلون احمر و بجانبها رقم5 عدد الاحرف.

 

قراءة محتوى يدخله المستخدم stdin.read

الميثود stdin.read نستخدمه في طباعة مدخلات من المستخدم و نستطيع تمرير قيمة عددية تحديد طول السلسلة.

مثال 1

>>>import sys
>>>sys.stdin.read(5)

معنى هذا قراءة محتوى يدخله المُستخدم و يجب إدخال أي كلمة من خمس خانات لأننا حددنا له رقم 5 ,فإذا كتبنا شيئ أقل من 5 خانات سيبقى يطلب باقي الأحرف مثلاً كتبنا ali سوف يبقى ينتظر مننا كتابة حرفين آخرين حسب المطلوب منه, وفي حال كتبنا كلمة اكثر من خمسة احرف سوف يأخذ منها فقط أول خمس حروف فقط.

مثال 2

import sys
ilen = len(sys.argv)
if ilen != 1 :
  print(sys.argv)
else:
  print("no Inputs")

عند تشغيل هذا الملف سوف يطبع لنا no Inputs هذا يعني اننا لم ندخل اي كلمه في هذا الملف لهذا طبع لنا no Inputs , فإذا ادخلنا له اي كلام سوف يطبع لنا كل المدخلات و مسار تواجد الملف.

مثال 3

import sys
ilen = len(sys.argv)
if ilen != 1 :
    name = sys.argv[1]
    age = sys.argv[2]
    print(name)
    print(age)
else:
    print("no Inputs")

سوف يطلب منا مدخلين و هما الأسم و العمر, عندما نكتبها له سوف يطبعها على الشاشة.

لمعرفة جميع الميثود التي تُستخدم في مكتبة sys لأنها كثيرة جداً لا نستطيع شرحها في درس أو إثنين, لمعرفة جميع الميثود نقوم بكتابة الأمر.

>>> import sys
>>> print(dir.(sys))

عند الضغط على زر Enter سوف يعرض لنا جميع الميثود التي تُستخدم في مكتبة sys و يمكن البحث عن طريقة إستخدام اي ميثود نشاء.


Tags:
Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com