"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التخلص من المخرجات غير المرغوب فيها عند استرداد مخرجات CLI باستخدام Paramiko؟

كيفية التخلص من المخرجات غير المرغوب فيها عند استرداد مخرجات CLI باستخدام Paramiko؟

تم النشر بتاريخ 2024-11-02
تصفح:638

How to Eliminate Junk Output When Retrieving CLI Output with Paramiko?

هل يمكنك التخلص من المخرجات غير المرغوب فيها عند استخدام SSH لاسترداد مخرجات CLI مع Python's Paramiko؟

عند استخدام مكتبة Python's Paramiko لـ SSH في جهاز بعيد واسترداد الإخراج من في سطر الأوامر، من الشائع مواجهة أحرف غريبة إلى جانب الإخراج المقصود. يمكن أن يتضمن ذلك رموز الهروب ANSI وغيرها من المعلومات غير الأساسية.

على الرغم من أن هذه الأحرف قد تبدو غير مهمة، إلا أنها في الواقع تخدم غرضًا ما. يتم استخدام رموز الهروب ANSI بواسطة عملاء المحطة الطرفية لتحسين عرض المخرجات، مثل تنسيق النص وتحديد موضع المؤشر. وبالتالي فهي ليست مصدر إزعاج ولكنها بالأحرى مكون ضروري للجلسات الطرفية التفاعلية.

عند استخدام طريقة Paramiko's SSHClient.invoc_shell، المخصصة للجلسات الطرفية التفاعلية، تطلب المكتبة تلقائيًا محطة طرفية زائفة. تُستخدم هذه المحطة لتفسير أكواد الهروب ANSI وعرض المخرجات بتنسيق يمكن قراءته بواسطة الإنسان.

ومع ذلك، إذا كانت نيتك هي أتمتة تنفيذ الأوامر عن بعد بدلاً من المشاركة في جلسات طرفية تفاعلية، فإن الحل المناسب هو الطريقة المستخدمة هي SSHClient.exec_command. لا تقوم هذه الطريقة بتخصيص محطة زائفة بشكل افتراضي، وبالتالي التخلص من مشكلة الأحرف الدخيلة.

بدلاً من ذلك، إذا كنت تحتاج إلى استخدام قناة "shell" بسبب قيود خادم محددة، فيمكنك إنشاء القناة يدويًا بدون المحطة الزائفة. ومع ذلك، من المهم ملاحظة أن SSHClient.invoc_shell الخاص بـ Paramiko لا يدعم هذه الوظيفة، لذلك ستحتاج إلى إنشاء القناة بنفسك.

أخيرًا، البادئة "u" التي قد تلاحظها في الإخراج ليست كذلك جزء من قيمة السلسلة نفسها. بل يشير إلى أن السلسلة مشفرة في Unicode، وهو أمر ضروري للتعامل مع الأحرف التي تقع خارج نطاق ASCII.

بيان الافراج أعيد طبع هذه المقالة على: 1729292955 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3