python - 在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'>
如果未运行中的相应值,我想打印名称列中的值。我尝试将其转换为字典,但无法这样做。这里的任何帮助将不胜感激。
解决方案
You can easily convert your string in a list of lists of strings, where every sublist represents a row in your table:
lst_data=[x.split() for x in kubectl_pods_data.split('\n')]
At this point you may transform this structure as you like, or even use it directly: e.g.
for row in lst_data:
if row[2] != 'Running':
print(row[0])
推荐阅读
- php - HTML 表未显示 PostgreSQL 的第一条记录
- tailwind-css - 顺风不同的主题
- javascript - Javascript - 根据函数的返回值输入 Switch case
- android - 如何更改文本字段的输入类型并在android中同时只允许十六进制输入?
- r - glm.fit:算法没有收敛错误
- c - 汇编函数 (gdb) 中的 __kernel_vsyscall
- angular - 在服务上收到回调后 Angular 9 刷新组件
- c - 如何编写一个程序,为每个创建 2 个父进程和一个子进程?
- apache-spark - Spark 流式传输与结构化流式传输
- bash - 触发器列出 bash 函数中的所有完成行为