Heim  >  Artikel  >  Backend-Entwicklung  >  Wie eliminiere ich Junk-Werte in der Paramiko-SSH-Ausgabe?

Wie eliminiere ich Junk-Werte in der Paramiko-SSH-Ausgabe?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 07:12:021090Durchsuche

How to Eliminate Junk Values in Paramiko SSH Output?

Junk-Werte aus der SSH-Ausgabe mit Paramiko entfernen

Beim Abrufen der Ausgabe von der CLI eines Remote-Computers über die SSH-Bibliothek von Paramiko kann es zu unerwünschten Zeichen kommen wie „x1b[2Jx1b[1;1H“ und „u“. Dies sind ANSI-Escape-Codes, die die Ausgabe für Terminal-Clients verschönern.

Ursache und Lösung

Paramikos SSHClient.invoke_shell fordert zur Eingabe eines Pseudo-Terminals auf, was zum Erscheinen dieser Escape-Codes führt Codes. Für die automatisierte Befehlsausführung wird stattdessen die Verwendung von SSHClient.exec_command empfohlen, das das Pseudoterminal nicht standardmäßig zuweist.

<code class="python">stdin, stdout, stderr = client.exec_command('ls')</code>

Alternative Lösungen

Bei Verwendung von Der „Shell“-Kanal ist zwingend erforderlich. Dies ist ohne das Pseudo-Terminal möglich, aber SSHClient.invoke_shell von Paramiko bietet diese Funktion nicht. Stattdessen kann man den „Shell“-Kanal manuell erstellen.

<code class="python"># Not supported by Paramiko SSHClient.invoke_shell
channel = ssh_client.get_transport().open_channel("session")
channel.exec_command("ls")</code>

Hinweis zur Unicode-Kodierung

Das „u“-Präfix in den Ausgabezeichenfolgen gibt die Unicode-Kodierung an, was auch der Fall sein sollte erhalten bleiben.

Das obige ist der detaillierte Inhalt vonWie eliminiere ich Junk-Werte in der Paramiko-SSH-Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn