如何从字符串中提取字符

时间:2018-01-03 06:08:13

标签: python

我运行代码:

from subprocess import Popen, PIPE

p1 = Popen(['ip', 'addr'], stdout=PIPE)
p2 = Popen(['grep', 'enp'], stdin=p1.stdout, stdout=PIPE)
p1.stdout.close()
output=p2.communicate()[0]
print(output)

我得到了输出:

b'7: enp0s20f0u1c4i2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000\n    inet 172.20.10.2/28 brd 172.20.10.15 scope global dynamic enp0s20f0u1c4i2\n'

如何从此输出的字符串中提取字符 enp0s20f0u1c4i2

1 个答案:

答案 0 :(得分:1)

如果您确定字符串output始终具有相同的格式,则可以使用拆分功能拆分:,取第一个元素然后清理删除空格的字符串和\n。类似地,您可以按空格拆分并获取拆分的最后一个元素(看起来您要查找的字符串会出现两次?)

所以output.split(':')[1].strip()output.split(' ')[-1].strip()