python问题,返回值去内容问题


# *--coding:utf-8 --*

import os
import re
import string
import subprocess


ipadd = '193.168.70.2'

p = os.popen('ping -n 1 '  + ipadd)
pin = p.read()
p.close


print (pin)

打印结果:
正在 Ping 193.168.70.2 具有 32 字节的数据:
来自 193.168.70.2 的回复: 字节=32 时间<1ms TTL=128

193.168.70.2 的 Ping 统计信息:
数据包: 已发送 = 1,已接收 = 1,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

想分别取出ping输出结果,取出字节=后的32数字,取出时间<后的秒数,取出TTL=后的128,取出的内容均为数字。需要取出的数字都已经加粗,请问究竟应该怎么取出啊?求指点,感激不尽,谢谢

img

img


#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""

import os
import re

ipadd = '39.97.4.86'
command = "ping -n 1 " + ipadd + ">ip.txt"
os.system(command)
txt = open('ip.txt', encoding="gbk").read().replace(" ", "")
res = re.findall("=(\d+)", txt)
print(res)


a = re.findall("=[0-9]*",pin)

可以参考

import re
data = '正在 Ping 193.168.70.2 具有 32 字节的数据:\
来自 193.168.70.2 的回复: 字节=32 时间<1ms TTL=128\
193.168.70.2 的 Ping 统计信息:\
数据包: 已发送 =1,已接收 = 1,丢失 = 0 (0% 丢失),\
往返行程的估计时间(以毫秒为单位):\
最短 =0ms,最长 = 0ms,平均 = 0ms'

byte = re.findall(r'字节=(\w+)*', data, re.M)
bytime = re.findall(r'时间<(\w+)*', data, re.M)
print(byte,bytime)