• 0

كيف اُشغّل سكربت shell في بايثون؟

أحتاج إلى تشغيل سكربت shell عن طريق استخدام لغة بايثون فقط فما هي أسهل طريقة لفعل ذلك؟ فهل توجد دالة معينة يمكنها مساعدتي؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق في لغة بايثون لتشغيل ملف سكربت shell من داخل برنامجك، فيمكنك على سبيل المثال استخدام دالة system من مكتبة os ومن ثم تمرر لها أمر تنفيذ سكربت بايثون كما في المثال التالي:

os.system(“./script.sh”)

أو يمكنك ببساطة استخدام دالة call من وحدة subprocess لتشغيل أي سكربت كما في المثال التالي:

>>> import subprocess
>>> subprocess.call(['./test.sh']) # Thanks @Jim Dennis for suggesting the []
0
>>>

حيث أن test.sh هو سكربت shell بسيط وأما 0 فهي القيمة العائدة من التشغيل.
في حالة ما رغبت بتمرير بعض المعاملات إلى السكربت فيمكنك في هذه الحالة الاستعانة بدالة split من وحدة shlex كما في المثال التالي:

import subprocess
import shlex
subprocess.call(shlex.split('./test.sh param1 param2'))

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن