مكتبة sys في بايثون
مكتبة sys في بايثون تقدم وظائف مختلفة للتعامل مع المتغيرات والإعدادات الخاصة بالنظام. وهناك العديد من الدوال المفيدة المتاحة في هذه المكتبة، منها:
- sys.argv:
- sys.exit():
- sys.path:
- sys.platform:
- sys.stdin, sys.stdout, sys.stderr:
- sys.version:
هذه هي بعض من الدوال الشائعة في مكتبة sys.
دالة sys.argv
دالة sys.argv في لغة بايثون هي قائمة من السلاسل التي تمر بشكل مباشر إلى برنامج بايثون عند تشغيله كمعاملات أو وسائط سطر الأوامر.
عند تشغيل برنامج Python من خلال سطر الأوامر، يمكن إضافة معاملات إضافية
عبر الأمر المستخدم لتشغيل البرنامج، وتحتفظ الدالة sys.argv بكافة هذه
المعاملات. يتم تمثيل كل معامل بشكل سلسلة، وتتم إضافتها إلى القائمة sys.argv في
نفس الترتيب الذي تم تمريره فيه.
ويمكن استخدام دالة sys.argv في بايثون لتمرير معلومات إضافية إلى البرنامج
عند تشغيله، ومن ثم استخدام هذه المعلومات في تنفيذ البرنامج بشكل صحيح.
دالة sys.path
دالة sys.path هي قائمة من السلاسل (strings) تحتوي على المسارات (paths) التي سيتم البحث فيها عن الوحدات (modules) المستوردة (imported) في Python. وتقوم الدالة بإرجاع القائمة الحالية للمسارات.
عندما يكون لديك وحدة مستوردة في برنامجك، يبحث Python في المسارات المحددة للعثور على الوحدة المطلوبة. فإذا كانت الوحدة ليست في مسار البحث الحالي، فلن يتم العثور عليها وسيتم إثارة خطأ استثناء ImportError.
لذلك، يمكن استخدام دالة sys.path لإضافة مسارات جديدة إلى قائمة البحث، مما يمكّن Python من العثور على الوحدات المطلوبة في تلك المسارات. لإضافة مسار جديد، يمكن استخدام الأمر التالي:
import sys
sys.path.append("path/to/new/directory")
هذا سيضيف المسار "path/to/new/directory" إلى نهاية قائمة
sys.path.
دالة sys.exit
دالة sys.exit في بايثون تستخدم لإنهاء تشغيل برنامج Python، وتستخدم عادة للخروج من البرنامج عند حدوث خطأ معين. عند استدعاء هذه الدالة، يتم إنهاء تشغيل البرنامج فوراً ويتم إرجاع قيمة خروج تحددها.
على سبيل المثال، يمكن استخدام هذه الدالة في الشفرة التالية لإنهاء تشغيل البرنامج عندما يكون مدخل المستخدم غير صحيح:
import sys
user_input = input("Enter a number: ")
if not user_input.isdigit():
print("Invalid input.")
sys.exit(1)
number = int(user_input)
print("The number is:", number)
في هذا المثال، إذا كان مدخل المستخدم غير صحيح، فإن الشفرة ستقوم
بطباعة رسالة "Invalid input." وتستدعي دالة sys.exit(1) لإنهاء تشغيل البرنامج
مع قيمة الخروج تحدد بـ 1.
دالة sys.platform
دالة sys.platform في بايثون تستخدم للحصول على اسم نظام التشغيل الذي يعمل عليه البرنامج.
عادة ما يتم استخدام هذه الدالة لاتخاذ قرارات متعلقة بالأكواد المناسبة
لنظام التشغيل، فمثلاً إذا كان النظام هو ويندوز يمكن استخدام حروف كبيرة أو
صفراء في الطباعة، في حين يجب استخدام أحرف صغيرة وبيضاء في حالة نظام ماك أو
لينكس.
إليك مثال بسيط يستخدم sys.platform :
import sys
if sys.platform == "win32":
print("Running on Windows")
elif sys.platform == "darwin":
print("Running on Mac OS X")
elif sys.platform == "linux":
print("Running on Linux")
else:
print("Unknown operating system")
هذا المثال يتحقق من قيمة sys.platform ويقوم بطباعة رسالة مختلفة
اعتمادًا على نظام التشغيل الذي يعمل عليه البرنامج.
دوال sys.stdin, sys.stdout, sys.stderr
دوال sys.stdin ، sys.stdout و sys.stderr هي متغيرات خاصة في مكتبة sys في لغة Python. تُستخدم هذه المتغيرات لإجراء عمليات الإدخال والإخراج في Python.
- - sys.stdin: متغير يحتوي على معلومات المدخلات القياسية (standard input) ، وهو المدخل الافتراضي لأي برنامج يتم تشغيله من سطر الأوامر.
- - sys.stdout: متغير يحتوي على معلومات الإخراج القياسية (standard output) ، وهو المخرج الافتراضي لأي برنامج يتم تشغيله من سطر الأوامر.
- - sys.stderr: متغير يحتوي على معلومات الأخطاء القياسية (standard error) ، وهو المخرج الافتراضي لأي رسائل الأخطاء التي يقوم البرنامج بإنشائها.
يُمكن استخدام هذه المتغيرات لإجراء عمليات الإدخال والإخراج باستخدام دوال Python القياسية مثل print() وinput(). مثلاً، يمكن استخدام sys.stdin لقراءة المدخلات من المستخدم، ويمكن استخدام sys.stdout لإظهار النتائج على الشاشة.
دالة sys.version
دالة sys.version في بايثون تستخدم لإرجاع معلومات حول نسخة بايثون المثبتة على جهاز الكمبيوتر الخاص بك. يمكن استخدام هذه الدالة كما يلي:
import sys
print(sys.version)
سيتم طباعة نسخة Python المثبتة على جهاز الكمبيوتر الخاص بك على
الشاشة، على سبيل المثال:
3.9.2 (default, Feb 19 2021, 17:03:49)
[GCC 10.2.0]
في هذا المثال، النسخة المثبتة من بايثون هي 3.9.2.