اذهب إلى المحتوى

السؤال

نشر

أريد معرفة ما هي المميزات التي تجعل استخدام وحدة os في بايثون أفضل من كتابة أوامر النظام بشكل مباشر؟ فعلى سبيل المثال لماذا نستخدم دوال من وحدة os لنقل الملفات وحذفها وغيرها بدلا من تطبيق أوامر النظام مباشرة عن طريق os.system() أو subprocess.call()؟

Recommended Posts

  • 0
نشر

هنالك عدة أسباب تجعل استخدام وحدة os أفضل من تطبيق أوامر النظام بشكل مباشرة وأهمها أن استخدام دوال وحدة os أسرع من استخدام os.system() أو subprocess.call() ويرجع السبب إلى أن هذين الأخيرين يقومان بإنشاء عمليتين (processes) غير ضروريتين.
السبب الآخر أن بعض الأوامر ليس لديها أية فائدة لو استعملناها في عمليات منفصلة مثلا لو قمت بتنفيذ أمر os.spawn("cd dir/") فإنه سيُغير المجلد الحالي للعملية الصغيرة التي أنشأها ولم يتم تغيير أي شيء في عملية بايثون.
أما السبب الثالث هو أن دوال مكتبة os يدعم جميع الأنظمة على عكس الأوامر التي تعمل في نوع واحد من الأنظمة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...