正在分析python中的未格式化字符串



我是python的新手。能够获得以下格式的数据:-

这是代码:-

import paramiko
import json
class Remote_SSH:
def __init__(self,name,command):
self.name = name
self.command = command
def sshcont(self):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname = self.name, username='root')
ssh.invoke_shell()
stdin, stdout, stderr = ssh.exec_command (self.command)
cmdout = (stdout.read())
return cmdout
ssh.close()
def ssh_print(self):
list_logs = []
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname = self.name, username='root')
sftp = ssh.open_sftp()
stdin, stdout, stderr = ssh.exec_command (self.command)
for logs in stdout:
print logs.strip("n")
list_logs.append(logs)
ssh.close()
return list_logs
kubectl_pods_data = Remote_SSH('IP_ADDRESS','kubectl get pods --namespace prelude').sshcont()
print '----------------------------------------------------------------'
print kubectl_pods_data
print type(kubectl_pods_data)
print '----------------------------------------------------------------'

这是输出

NAME                                           READY   STATUS    RESTARTS   AGE
abx-service-app-78968c4446-dz586               1/1     Running   0          34d
abx-service-app-78968c4446-mn8jz               1/1     Running   0          34d
abx-service-app-78968c4446-rd8xq               1/1     Running   0          34d
approval-service-5c869c44b6-8vxwd              1/1     Running   0          34d
approval-service-5c869c44b6-j6zgr              1/1     Running   0          34d
approval-service-5c869c44b6-nqxv9              1/1     Running   0          34d
<type 'str'>

如果相应的值没有运行,我想打印名称列中的值。我试着把它转换成字典,但做不到。如有任何帮助,我们将不胜感激。

您可以轻松地在字符串列表中转换字符串,其中每个子列表表示表中的一行:

lst_data=[x.split() for x in kubectl_pods_data.split('n')]

在这一点上,你可以随心所欲地转换这个结构,甚至直接使用它:例如

for row in lst_data:
if row[2] != 'Running':
print(row[0])

相关内容

  • 没有找到相关文章

最新更新