我正在尝试读取这个文件(存储在文件"apartadoB.txt"中(
我已经写了那个代码,但它不起作用(什么都没打印出来(
file = open("apartadoB.txt","rb")
for i in file.readlines():
i = str(i.decode('utf-8','ignore'))
if i.find('Respuesta') != -1:
print(i)
file.close()
apartadoB.txt:
��Haciendo ping a 10.3.7.0 con 572字节数据:Respuesta desde10.3.7.0:字节=572 tiempo=228ms TTL=253
Estad�第10.3.7.0段:帕克特斯:enviados=1,recibidos=1,perdidos=0(0%(,Tiempos近似于ida和vuelta en milisegundos:M�尼莫=228ms,M�ximo=228ms,介质=228ms
Haciendo ping a 10.4.2.5 con 572字节数据:Respuesta desde10.4.2.5:字节=572 tiempo=11ms TTL=254
Estad�第10.4.2.5段:帕克特斯:enviados=1,recibidos=1,perdidos=0(0%(,Tiempos近似于ida和vuelta en milisegundos:M�尼莫=11ms,M�ximo=11ms,Media=11ms
Haciendo ping a 10.3.7.0 con 572字节数据:Respuesta desde10.3.7.0:字节=572 tiempo=225ms TTL=253
Estad�第10.3.7.0段:帕克特斯:enviados=1,recibidos=1,perdidos=0(0%(,Tiempos近似于ida和vuelta en milisegundos:M�尼莫=225ms,M�ximo=225ms,介质=225ms
使用以下编码为UTF-8的数据到apartadoB.txt
:
Haciendo ping a 10.3.7.0 con 572 bytes de datos: Respuesta desde 10.3.7.0: bytes=572 tiempo=228ms TTL=253
Estadísticas de ping para 10.3.7.0: Paquetes: enviados = 1, recibidos = 1, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 228ms, Máximo = 228ms, Media = 228ms
Haciendo ping a 10.4.2.5 con 572 bytes de datos: Respuesta desde 10.4.2.5: bytes=572 tiempo=11ms TTL=254
Estadísticas de ping para 10.4.2.5: Paquetes: enviados = 1, recibidos = 1, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 11ms, Máximo = 11ms, Media = 11ms
Haciendo ping a 10.3.7.0 con 572 bytes de datos: Respuesta desde 10.3.7.0: bytes=572 tiempo=225ms TTL=253
Estadísticas de ping para 10.3.7.0: Paquetes: enviados = 1, recibidos = 1, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 225ms, Máximo = 225ms, Media = 225ms
建议阅读以下代码:
with
会自动关闭文件open
应处于文本模式(默认(并指定编码- 不需要
readlines()
。直接在文件上迭代 - 行(
i
(将已经用UTF-8进行解码 end=''
,因为i
行将已经有换行符
with open('apartadoB.txt',encoding='utf8') as file:
for i in file:
if i.find('Respuesta') != -1:
print(i)
输出:
Haciendo ping a 10.3.7.0 con 572 bytes de datos: Respuesta desde 10.3.7.0: bytes=572 tiempo=228ms TTL=253
Haciendo ping a 10.4.2.5 con 572 bytes de datos: Respuesta desde 10.4.2.5: bytes=572 tiempo=11ms TTL=254
Haciendo ping a 10.3.7.0 con 572 bytes de datos: Respuesta desde 10.3.7.0: bytes=572 tiempo=225ms TTL=253