gpt4 book ai didi

Python、paramiko、invoke_shell 和丑陋的字符

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:36 25 4
gpt4 key购买 nike

当我运行下面的 Python 代码时:

import workflow
import console
import paramiko
import time

strComputer = 'server.com'
strUser = 'user'
strPwd = 'passwd'

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=strComputer, username=strUser, password=strPwd)

channel = client.invoke_shell()
channel.send('ls\n')
time.sleep(3)
output=channel.recv(2024)
print(output)

#Close the connection
client.close()
print('Connection closed.')

我得到了混合了丑陋字符的期望输出:

Last login: Thu Jun 19 23:37:55 2014 from 192.168.0.10

ls
user@server:~$ ls
[0m[01;34mbin[0m Rplots1.pdf
[01;32mbtsync[0m Rplots.pdf
btsync.conf~ [01;31mrstudio-server-0.95.265-amd64.deb[0m
[01;31mbtsync_glibc23_x64.tar[0m screen.vba
[01;34mbudget[0m [01;34mshiny[0m
[01;3
Connection closed.

任何人都可以向我解释发生了什么,以及如何获得漂亮的输出吗?谢谢

最佳答案

这些是 ls 用来高亮显示目录、可执行文件等的终端颜色代码。您可以调用 /bin/ls(或者,在某些发行版中, ls --color=never) 显式避免调用别名等并获得未着色的输出。

颜色是使用那些神秘代码定义的,例如 [0m[01;34m。这是启用 ls 着色时终端的样子:

enter image description here

关于Python、paramiko、invoke_shell 和丑陋的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com