这是我的第一个帖子(我是一个相对的蟒蛇新手)所以请原谅任何失礼。我研究了这个,似乎找到了解决方案,任何帮助将不胜感激。
在我的Mac上
来自……
经过进一步研究(下面的网址),我似乎已经掌握了这一点。
Python,paramiko,invoke_shell和丑陋的字符
这有效:
import paramiko from time import sleep def use_paramiko(command): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect("hostname", username = "login", password = "password") channel = ssh.invoke_shell() channel.send(command + "\n") sleep(1) print channel.recv(1024) ssh.close() use_paramiko('echo $unit0')
它返回的信息比我需要的多得多。如下:
Last login: Mon Mar 11 15:47:46 2019 from mymac stty: missing argument to 鈥榚rase鈥橽nTry 'stty --help' for more information. echo $unit0 Current Terminal Number [ 514 ] K.username.13% echo $unit0 /usr2/product/myarea/data/unit0 K.username.14%
尽管如此,至少我可以让它做我喜欢的事情(尽管响应需要一些清理)。
有两点需要注意(最初引起了我的注意)。
1-命令后需要'\ n',否则命令不会执行。
2 - 正如睡眠一样,否则它只会返回第一行(即“最后登录:2011年3月11日星期一15:47:46来自mymac”)。据推测,有一种更优雅的方式可以等到命令完成执行但让我解决我的问题。
感谢上面的网址上的海报。希望这可以帮助某人下线(任何改善上述答案的建议都会感激不尽)