Python3 如何打开ANSI文档

python3 默认抓取的txt文档的格式是UTF-8,前几天交换机异常抓的txt文档格式为ANSI格式

代码

import pymssql
import xlwt
import datetime
from xlwt import *
import codecs #打开ANSI格式的文档,需要codecs库
today=datetime.date.today().strftime('%Y%m%d')
txt='F51FA-HJ-S5560X-10.20.5.1.txt' #这个文档就是ANSI格式的
file = codecs.open('/root/xunjian/'+today+'/'+txt,'r',encoding='gb2312')
#codecs打开文档,encoding是gb2312,不是ANSI
listlist=file.readlines()
print('ANSI打开成功')
i=1
for line in listlist:

    if '1       Normal' in line:
        power11=line[8:15].rstrip()
        print(power11)
    if 'Uptime is' in line:
        time11=line[9:].rstrip()
        print(time11)
    if 'hotspot' in line:
        environment11=line[17:21].rstrip()
        print(environment11)
    if 'Fan 1:' in line:
        fana11=listlist[i+1][-8:].rstrip()
        print(fana11)
    if 'Fan 2:' in line:
        fanb11=listlist[i+1][-8:].rstrip()
        print(fanb11)
    if 'in last 5 minutes' in line:
        cpu11=line[6:10].rstrip()
        print(cpu11)
    if 'Mem:' in line:
        memory11=line[-7:].rstrip()
        print(memory11)
    if 'To_F5-Core-S12508_Ten-G1' in line:
        briefa11=line[20:30].rstrip()
        print(briefa11)
    if 'To_F5-Core-S12508_Ten-G2' in line:
        briefb11=line[20:30].rstrip()
        print(briefb11)
    if 'Current messages:' in line:
        log11=line[-5:].rstrip()
        print(log11)
    if 'Routes' in line:
        routingtable11=line[-5:].rstrip()
        print(routingtable11)
    i += 1

运行结果

这里写图片描述

注意

巡检设备如果抓取的txt文档的格式是ANSI,有可能是你设备冷重启了(跳电等,非正常重启),python3.5默认的txt文档都是UTF-8格式。windows下面的python3.6可以处理UTF-8和ANSI的txt文档,不需要单独编写代码。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值