你好我已经制作了一个python脚本,告诉我我在ssh上使用我的磁盘,但每次运行程序时都会得到这个。
size b'442G' used b' 401M' available b'419G'
我想摆脱422G和其他人的b和引号。
这是我的代码
import sys, paramiko
import os
import time
username = "alex"
hostname = "192.168.1.91"
password = "alex"
command = "df /dev/sda3 -h"
port = 22
client = paramiko.SSHClient()
def updateTimeMenu():
time_menu.delete(0, "end")
time_menu.add_command(label=time.ctime())
def ssh():
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy())
client.connect(hostname, port=port, username=username, password=password)
menu()
def menu():
stdin, stdout, stderr = client.exec_command(command)
output = stdout.read()
print("Size", output[65:69], ", Used", output[70:75], ", Available", output[77:81]) #should output hdd info (size, used, avalable)
time.sleep(4)
ssh()
ssh()
答案 0 :(得分:0)
这是因为您检索二进制字符串,因为程序可以通过一个通道发送所有类型的字节,我们可以decode
将其转换为.decode('ascii')
的字符串:
print("Size",
output[65:69].decode('ascii'),
", Used",
output[70:75].decode('ascii'),
", Available",
output[77:81].decode('ascii'))
请注意,我们这里使用 ASCII&#34;编解码器&#34; ,因为这似乎是使用的,但当然有几种方法可以用原始字节编码字符串。< / p>