Bagaimana untuk Menghapuskan Output Sampah Apabila Mendapatkan Keluaran CLI dengan Paramiko?

Patricia Arquette
Lepaskan: 2024-10-19 07:10:02
asal
878 orang telah melayarinya

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

Bolehkah Anda Menghapuskan Output Sampah Apabila Menggunakan SSH untuk Mendapatkan Keluaran CLI dengan Paramiko Python?

Apabila menggunakan perpustakaan Paramiko Python ke SSH ke dalam peranti jauh dan mendapatkan output daripada baris arahan, adalah perkara biasa untuk menemui aksara luar di samping output yang dimaksudkan. Ini boleh termasuk kod melarikan diri ANSI dan maklumat lain yang tidak penting.

Walaupun aksara ini mungkin kelihatan seperti sampah, ia sebenarnya mempunyai tujuan. Kod melarikan diri ANSI digunakan oleh pelanggan terminal untuk meningkatkan persembahan output, seperti pemformatan teks dan kedudukan kursor. Oleh itu, ia bukanlah satu kacau ganggu tetapi sebaliknya merupakan komponen penting bagi sesi terminal interaktif.

Apabila menggunakan kaedah SSHClient.invoke_shell Paramiko, yang bertujuan untuk sesi terminal interaktif, perpustakaan secara automatik meminta terminal pseudo. Terminal ini digunakan untuk mentafsir kod melarikan diri ANSI dan memaparkan output dalam format yang boleh dibaca manusia.

Walau bagaimanapun, jika niat anda adalah untuk mengautomasikan pelaksanaan arahan jauh daripada melibatkan diri dalam sesi terminal interaktif, yang sesuai kaedah untuk digunakan ialah SSHClient.exec_command. Kaedah ini tidak memperuntukkan terminal pseudo secara lalai, dengan itu menghapuskan isu aksara luar.

Sebagai alternatif, jika anda memerlukan penggunaan saluran "shell" disebabkan oleh kekangan pelayan tertentu, anda boleh membuat saluran secara manual tanpa terminal pseudo. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa SSHClient.invoke_shell Paramiko tidak menyokong fungsi ini, jadi anda perlu mencipta saluran itu sendiri.

Akhir sekali, awalan "u" yang mungkin anda perhatikan dalam output bukanlah sebahagian daripada nilai rentetan itu sendiri. Sebaliknya, ini menunjukkan bahawa rentetan dikodkan dalam Unicode, yang penting untuk mengendalikan aksara yang berada di luar julat ASCII.

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Output Sampah Apabila Mendapatkan Keluaran CLI dengan Paramiko?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!