الإعلانات

أراهن أنك لم تكن تعلم أنه يمكنك كتابة نصوص صدفية في Python.

بالنسبة لأي مبرمج أو مسؤول أنظمة ، تعد البرمجة النصية لـ shell مهارة حيوية لإتقانها. يسمح لك بأتمتة المهام المملة ، وتحويلها إلى إجراءات متسقة ومتكررة. تكمن المشكلة في أنه يمكن أن يكون أمرًا شاقًا بعض الشيء ، خاصة عندما تفكر في أن معظم لهجات البرمجة النصية للقشرة تفتقر إلى البراعة النحوية الموجودة في أمثال Python و Ruby.

سأكون أكثر حدة. معظم نصوص الصدفة أقبح من الصلصال العادي.

shpy-pug

علاوة على ذلك ، هناك مجموعة متنوعة من الأصداف المتاحة لمنصات تشبه UNIX ، بما في ذلك Bash و CSH و KSH و (المفضل) FISH. ونتيجة لذلك ، قد تكون كتابة نصوص برمجية متناسقة تعمل عبر كل منصة أمرًا صعبًا.

يجب أن تكون هناك طريقة أفضل ، أليس كذلك؟

تقديم sh.py

هناك. عندما لا أكتب لـ MakeUseOf ، فأنا أكتب رمزًا في Python من أجل المتعة والربح. أنا أحب بايثون حقًا بسبب مرونتها وجمالها المتأصل وكيف أنها تفرض كتابة كود جيد حسب التصميم. إذا كان هذا يبدو جيدًا بالنسبة لك ، ولكنك لا تعرف هذه اللغة الرائعة بالفعل ، فلماذا لا تفحصها خمسة مواقع رائعة لتعلم برمجة بايثون أفضل 5 مواقع لتعلم برمجة Python

instagram viewer
هل تريد تعلم برمجة Python؟ فيما يلي أفضل الطرق لتعلم Python على الإنترنت ، والعديد منها مجاني تمامًا. اقرأ أكثر ?

لقد صادفت هذه المكتبة الرائعة حقًا قبل بضعة أشهر تسمى sh.py ، والتي تسمح لك باستدعاء البرامج وتمرير المعلمات والتعامل مع المخرجات ، وكل ذلك ضمن حدود برنامج Python.

فماذا يعني هذا؟ ببساطة ، هذا يعني أن لديك الوظائف الكاملة لنصوص shell ، ولكن من داخل لغة يسهل قراءتها ، هي وحدات ذات طبيعة وتدعم البرمجة الموجهة للكائنات. رائع ، أليس كذلك؟

لذا ، كيف نستخدمها؟

أقوم ببعض الافتراضات عنك. الأول هو أنك تقوم بتشغيل Linux أو OS X أو FreeBSD. كما هو الآن ، لا يعمل sh.py على Windows. ومع ذلك ، إذا لزم الأمر ، يمكنك دائمًا تثبيت جهاز Linux افتراضي. لقد كتب زميلي جاستن بوت مقالًا مفيدًا جدًا حول هذا الموضوع يمكنك التحقق من هنا كيفية استخدام VirtualBoxes Free Images لاختبار وتشغيل أنظمة التشغيل مفتوحة المصدر [Linux]جرب بسرعة مجموعة متنوعة من أنظمة التشغيل مفتوحة المصدر ، بعضها مألوف لك والبعض الآخر لا تعرفه. يمكنك البدء في التصفح الآن على Virtualboxes ، وهو موقع ويب يأخذ كل العمل تقريبًا ... اقرأ أكثر .

الافتراض الثاني الذي أقوم به هو أنك تقوم بتشغيل إصدار حديث من Python (إما 2.7 أو 3.2) وأنك قمت بتثبيت مدير حزمة PIP. إذا لم يكن الأمر كذلك ، فألق نظرة على وثائق Python الرسمية.

الامور جيدة؟ ثم سنستمر.

فلنبدأ الترميز

في المحطة ، قم بتثبيت sh.py بالأمر التالي.

sudo تثبيت تثبيت ش

سبب استخدامنا لـ "sudo" هنا هو أننا بحاجة إلى رفع أذوناتنا لإضافة حزم Python جديدة. إذا تم تثبيت sh.py بشكل صحيح ، فسترى الأسطر التالية موجودة في جهازك.

تنزيل / تفريغ sh تنزيل sh-1.09.tar.gz تشغيل setup.py egg_info للحزمة sh تثبيت الحزم المجمعة: sh تشغيل setup.py تثبيت لـ sh بنجاح sh. تنظيف…

إذا لم يذكر ذلك ، فالاحتمالات جيدة أن فشل التثبيت. حزين. إذا كان الأمر كذلك ، فحاول التحقق من أذوناتك وتثبيت PIP بالفعل. إذا كان لا يزال غير موجود ، فحاول أن تسأل عن Stack Overflow (التي نوقشت سابقا 10 مواقع إلكترونية يمكن أن تساعد المبرمج المبتدئ مع مقتطفات رمز عينة اقرأ أكثر من قبل محرر الإنترنت لدينا ، Saikat Basu) أو MakeUseOf إجابات.

الآن بعد أن تم فرزها ، قم بإنشاء دليل جديد. إنه هنا حيث سنضع كل الكود الخاص بنا. افتح محرر نصوص وأنشئ ملفًا باسم "shtest.py". هنا ، سنقوم ببساطة بإنشاء ملف جديد ، ثم نقوم بإدراج محتويات الدليل الذي نحن فيه. يبدو جيدا؟

في shtest.py ، أضف الأسطر التالية.

shpy-shtest
#! / usr / bin / env python. استيراد ش
sh.touch ("مرحبًا") print (sh.ls ('- l'))

أشياء بسيطة هنا. دعونا كسر هذا.

#! / usr / bin / env python

يُسمى هذا الخط بعلامة التجزئة ، ويوجه shell إلى فتح هذا الملف كبرنامج Python. يتيح لك ذلك فتحه كما تفعل مع نص برمجي (./shtest.py) ، بدلاً من فتحه مباشرةً باستخدام Python (python shtest.py). رائع ، أليس كذلك؟

استيراد ش

يستورد هذا الخط مكتبة sh التي قمنا بتثبيتها منذ لحظات قليلة. لا يمكننا الاستمرار بدون هذا ، لذا تأكد من أنه في رمزك!

sh.touch ("مرحبًا")

قد تكون على دراية بأمر Linux ، "touch". يؤدي هذا إلى إنشاء ملف فارغ باسم الملف الذي تحدده. هنا ، نحن نتصل مباشرة "باللمس" من داخل Python. كما ترون ، لقد استهلنا ذلك بـ "sh." ، ونقوم بتمريره بمعلمة "hello".

print (sh.ls ('- l'))

قد تكون على دراية بالأمر "طباعة" ، الذي ينتج النص إلى وحدة التحكم. هنا ، نقوم بتمريرها "sh.ls" كمعلمة. يستدعي ذلك برنامج Linux ls ، الذي يسرد محتوى الدليل. نمرر أيضًا أن معلمة "-l" ، والتي تطبع معلومات أكثر تفصيلاً حول محتويات الدليل نقوم بتنفيذها.

هل يعمل؟ انظر بنفسك.

shpy-shtest-works

سوف يلاحظ من لديه أعين من الصقور أن هناك ملفًا آخر عائمًا في ذلك الدليل يسمى "gitsh.py". ماذا يمكن أن يكون هناك؟

أوامر فرعية

يحتوي sh.py على بعض الخطافات للبرامج الشهيرة المخبوزة بالفعل. وهي تشمل git و sudo وعدد كبير من أدوات Linux المساعدة. هذه تجعل التفاعل مع هذه الخدمات من داخل Python أسهل.

ما أسهل؟ حسنًا ، سأوضح لك كيفية تهيئة مستودع Git فارغ في ثلاثة أسطر فقط من التعليمات البرمجية. أولاً ، قم بإنشاء ملف يسمى "gitsh.py" وافتحه في محرر النصوص المفضل لديك.

في الداخل ، اكتب الأسطر الثلاثة التالية.

shpy-gitsh #! / usr / bin / env python. من بوابة الاستيراد sh. طباعة (git.init ())

يجب أن يكون معظم هذا مألوفًا لك. ستلاحظ أننا استوردنا "git" من "sh". هذا يعني أننا استوردنا جزءًا معينًا من الوظائف من وحدة ، مع تجاهل كل شيء آخر.

بعد ذلك ، نقوم بتهيئة مستودعنا.

طباعة (git.init ())

لقد تحدثنا عن الطباعة. يجب أن تلاحظ أننا ندعو "git" بدون ".sh" للمتابعة. هذا لأننا استوردنا بشكل خاص وظيفة git من مكتبة "sh".

أعمال shpy-gitsh

وهذا كل شيء. عندما نقوم بتشغيل gitsh.py ، يجب أن نرى الأسطر التالية تظهر في طرفية الخاص بك.

خاتمة

كانت هذه مقدمة سهلة إلى حد معقول لـ sh.py. إذا كنت حريصًا على معرفة المزيد حول هذا الموضوع ، فراجع التوثيق الرسمي هنا. ومع ذلك ، إذا واجهتك مشكلة ، فلا تتردد في ترك لي تعليق أدناه وسأحاول مساعدتك.

ماثيو هيوز مطور برامج وكاتب من ليفربول بإنجلترا. نادرًا ما يتم العثور عليه بدون كوب من القهوة السوداء القوية في يده ويعشق جهاز Macbook Pro والكاميرا الخاصة به. يمكنك قراءة مدونته على http://www.matthewhughes.co.uk ومتابعته على تويتر علىmatthewhughes.