Beseitigen von Junk-Werten aus der SSH-Ausgabe mit Paramiko
Wenn Sie die Paramiko-Bibliothek von Python verwenden, um per SSH eine Verbindung zu einem Remote-Computer herzustellen und die Befehlszeilenausgabe abzurufen, Möglicherweise stoßen Sie in der Antwort auf unerwartete „Junk“-Zeichen wie [2Jx1b[1;1H und u. Dies ist auf die Verwendung von ANSI-Escape-Codes zurückzuführen, die die Anzeige der Ausgabe in einem interaktiven Terminal verbessern sollen.
Verwendung der korrekten Ausführungsmethode
Paramikos SSHClient .invoke_shell fordert automatisch ein Pseudoterminal an, was zur Einbindung dieser Escape-Codes führen kann. Für die automatisierte Befehlsausführung ist es besser, SSHClient.exec_command zu verwenden, das standardmäßig kein Pseudoterminal zuweist.
Workaround für interaktive Sitzungen
Als Workaround für In interaktiven Sitzungen können Sie ANSI-Escape-Sequenzen mithilfe einer Python-Bibliothek entfernen. Dies ist jedoch ein Hack und löst andere Probleme im Zusammenhang mit der Verwendung eines interaktiven Terminals möglicherweise nicht vollständig.
Manuelle Erstellung des Shell-Kanals
Wenn Sie die Shell verwenden müssen Aufgrund spezifischer Serveranforderungen können Sie den Kanal manuell erstellen, ohne invoke_shell zu verwenden. Dadurch können Sie die Zuweisung eines Pseudoterminals vermeiden.
Unicode-Kodierung
Schließlich zeigt das u-Präfix in der Ausgabe an, dass die Zeichenfolge in Unicode-Kodierung vorliegt. Dies ist wichtig für die ordnungsgemäße Handhabung der Zeichen in der Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie entferne ich Junk-Werte mit Paramiko aus der SSH-Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!