كيفية تنفيذ عبارات متعددة الأسطر في سطر أوامر من سطر واحد
عند تنفيذ حلقة من سطر واحد باستخدام خيار -c في بايثون ، يؤدي استيراد وحدة نمطية قبل الحلقة إلى حدوث خطأ في بناء الجملة. وذلك لأن مترجم بايثون يعامل كتلة التعليمات البرمجية على أنها عبارة واحدة.
لحل هذه المشكلة، يمكن استخدام عدة طرق:
استخدام الأنابيب
للتغلب على خطأ بناء الجملة، استخدم الأمر echo لإعادة توجيه مقطع التعليمات البرمجية إلى Python كسلسلة من أسطر الإدخال:
echo -e "import sys\nfor r in range(10): print 'rob'" | python
استخدام exec()
هناك طريقة أخرى تتمثل في استخدام وظيفة exec() لتنفيذ كتلة التعليمات البرمجية كبرنامج نصي لـ Python:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
التوسيع إلى أسطر متعددة
في حالة الاستخدام الأنابيب أو exec() غير مجدية، يمكن توسيع كتلة التعليمات البرمجية إلى أسطر متعددة مفصولة بفواصل منقوطة:
(echo "import sys" ; echo "for r in range(10): print 'rob'" ; echo "exec(\"import sys\nfor r in range(10): print 'rob'")") | python
باستخدام هذه التقنيات، يمكنك تنفيذ عبارات متعددة الأسطر في سطر أوامر واحد مع الحفاظ على البنية المطلوبة لملف Makefile الخاص بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3