有没有办法提取列表中的特定数据?

时间:2019-04-14 01:44:21

标签: python-3.x

我正在使用结构连接到远程linux服务器以运行命令。然后,我将其拆分为一个列表,但无法提取特定数据。如何提取特定数据?

获取数据的命令:

>>> bpimage_cmd = ssh_connect.run(rf"sudo /usr/openv/netbackup/bin/admincmd/bpimagelist -L -backupid {last_backup_image} -media | egrep  -w 'ID:'")
>>> bpimage_cmd.stdout
'Backup ID:         hostname_1552094084\nJob ID:            4083686\n ID:               L02266\n' 

将字符串拆分为列表:

>>> bpimage_list = [idx.strip() for idx in bpimage_cmd.stdout.split('\n') if idx.strip()]
>>> bpimage_list
['Backup ID:         hostname_1552094084',
 'Job ID:            4083686',
 'ID:               L02266']

我尝试将列表转换为字典,尝试使用ast和index搜索各种形式的列表,但均未成功。

我想提取“值”,例如ID :,我想获取L02266并将其存储。

2 个答案:

答案 0 :(得分:2)

这样转换如何?

#vis{
    visibility: visible;
}

答案 1 :(得分:0)

如果使用re模块,则可以将字符串直接转换为字典,如下所示:

dic = dict(re.split(r":\s*", s.strip(), 1) for s in bpimage_cmd.stdout.split("\n") if s.strip())

看到以下问题: Splitting a semicolon-separated string to a dictionary, in Python