Python 如何从字符串中提取字符

Python 如何从字符串中提取字符,python,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,MULTI

我运行代码:

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'
b'7:enp0s20f0u1c4i2:mtu 1500 qdisc pfifo\U快速状态未知组默认qlen 1000\n inet 172.20.10.2/28 brd 172.20.10.15作用域全局动态enp0s20f0u1c4i2\n

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

如果您确定字符串
输出总是具有相同的格式,则可以使用拆分函数拆分
,获取第一个元素,然后清理字符串以删除空格和
\n
。类似地,您可以按空格分割
,并获得分割的最后一个元素(您要查找的字符串似乎出现了两次?)

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