Maison  >  Article  >  développement back-end  >  Comment éliminer les valeurs indésirables dans la sortie Paramiko SSH ?

Comment éliminer les valeurs indésirables dans la sortie Paramiko SSH ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 07:12:02975parcourir

How to Eliminate Junk Values in Paramiko SSH Output?

Éliminer les valeurs indésirables de la sortie SSH à l'aide de Paramiko

Lors de la récupération de la sortie de la CLI d'une machine distante via la bibliothèque SSH de Paramiko, on peut rencontrer des caractères non sollicités tels que "x1b[2Jx1b[1;1H" et "u". Ce sont des codes d'échappement ANSI qui embellissent la sortie pour les clients du terminal.

Cause et résolution

SSHClient.invoke_shell de Paramiko demande un pseudo-terminal, ce qui entraîne l'apparition de ces codes d'échappement. codes. Pour l'exécution automatisée des commandes, il est recommandé d'utiliser plutôt SSHClient.exec_command, qui n'attribue pas le pseudo-terminal par défaut.

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

Solutions alternatives

Si vous utilisez le Le canal "shell" est impératif, il est possible de le faire sans le pseudo-terminal, mais SSHClient.invoke_shell de Paramiko n'offre pas cette fonctionnalité. On peut créer manuellement le canal "shell" à la place.

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

Remarque sur le codage Unicode

Le préfixe "u" dans les chaînes de sortie indique le codage Unicode, qui devrait être préservé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn