小编Whi*_*rse的帖子

使用Paramiko一次创建多个SSH连接

下面的代码通过SSH在一台机器上运行grep并打印结果:

import sys, os, string
import paramiko

cmd = "grep -h 'king' /opt/data/horror_20100810*"

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.10.3.10', username='xy', password='xy')
stdin, stdout, stderr = ssh.exec_command(cmd)
stdin.write('xy\n')
stdin.flush()

print stdout.readlines()
Run Code Online (Sandbox Code Playgroud)

我怎样才能同时打磨五台机器(这样我没有大的延迟),而不是将所有这些都放在五个变量中并将它们全部打印出来.

python ssh paramiko

18
推荐指数
1
解决办法
3万
查看次数

Python,如何解码二进制编码的十进制(BCD)

二进制字段的描述是:

呼叫者号码,用压缩的BCD码表示,剩余比特用"0xF"填充

我试图用struct格式打印,'16c'然后得到:('3', '\x00', '\x02', '\x05', '\x15', '\x13', 'G', 'O', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff')如果我使用'16b'我得到(51, 0, 2, 5, 21, 19, 71, 79, -1, -1, -1, -1, -1, -1, -1, -1).这是不正确的,我应该得到电话号码,上面的数字是无效的.

print struct.unpack_from('>16b', str(data.read()),offset=46)
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,我得到无效的数字.我应该以什么格式解压缩16字节字段以及如何转换BCD代码?

python binary struct decode bcd

9
推荐指数
1
解决办法
1万
查看次数

在python中添加百分比 - xlwt/pyexcelerator

只是一个简单的问题,如何在不修改数字的情况下将百分号添加到数字.我已尝试使用myStyleFont.num_format_str ='0.00%'格式化百分比,但它乘以100但我只需追加百分比.

Ty提前.

问候.

python pyexcelerator xlwt

1
推荐指数
2
解决办法
4877
查看次数

Python - 路由器上的telnet和列表完整结果(点击空格键)

import telnetlib

def telNetCall():
    host  = "10.200.1.23"
    user  = "me"
    password = "matrix"
    telnet  = telnetlib.Telnet(host) 
    telnet.read_until('Username: ', 3) 
    telnet.write(user + '\r')
    telnet.read_until('Password: ', 3)  
    telnet.write(password + '\r') 
    telnet.write("sh log"+ "\r\n")
    telnet.write('exit' + '\r')
    print telnet.read_all() 
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试从cisco路由器中获取"show log"时,它只给出了部分结果,我认为这是因为你需要按空格键5次(取决于日志历史记录的多长时间)来获取完整的日志 - 当我这样做manualy,我不知道如何告诉python列出完整的日志.有什么建议吗?

python router telnetlib

1
推荐指数
1
解决办法
6343
查看次数

标签 统计

python ×4

bcd ×1

binary ×1

decode ×1

paramiko ×1

pyexcelerator ×1

router ×1

ssh ×1

struct ×1

telnetlib ×1

xlwt ×1