Python 保存Log txt信息,并转成pdf,支持中文

# coding=UTF-8
    import  os
    from reportlab.pdfgen.canvas import Canvas
    from reportlab.pdfbase import pdfmetrics
    from reportlab.pdfbase.ttfonts import TTFont

    pdfmetrics.registerFont(TTFont('msyh', 'msyh.ttf'))

    def LogMessage( msg, bisLogMsg=True):
        savingmsg = ''
        savingmsg = savingmsg + QtCore.QDate.currentDate().toString("yyyy-MM-dd")
        savingmsg = savingmsg + ' ' + QtCore.QTime.currentTime().toString("HH:mm:ss")
        savingmsg = savingmsg + ' ' + msg
        if bisLogMsg:
            savingLogMsg(savingmsg)
        else:
            savingResultMsg(savingmsg)

    def savingLogMsg(self, logmsg):
        if not os.path.exists('./log'):
            os.makedirs('./log')
        self.savingtxtmsg = open('./log/autotlog.txt', 'a')
        self.savingtxtmsg.write(logmsg)
        self.savingtxtmsg.write('\n')
        self.savingtxtmsg.close()
    def savingResultMsg(resultmsg):
        if not os.path.exists('./log'):
            os.makedirs('./log')
        savingtxtmsg = open('./log/result.txt', 'a')
        savingtxtmsg.write(resultmsg)
        savingtxtmsg.write('\n')
        savingtxtmsg.close()
        TxtToPdf('./log/result.txt','./log/result.pdf')

    def TxtToPdf(strSourceTxt,strTargetPdf):
        ptr = open(strSourceTxt, "r")  # text file I need to convert
        lineas = ptr.readlines()
        ptr.close()

        numeroLinea = 0
        p = Canvas(strTargetPdf)
        while numeroLinea < len(lineas):
            i = 750
            for linea in lineas[numeroLinea:numeroLinea + 60]:
                if 'fail' in linea:
                    p.setFont('msyh', 10)
                    p.setFillColorRGB(0, 0, 0.77)
                else:
                    p.setFont('msyh', 8)
                    p.setFillColorRGB(0, 0, 0)
                p.drawString(15, i, linea.strip())
                numeroLinea += 1
                i -= 12
            p.showPage()

        p.save()
LogMessage('Save System State: pass', False)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COSummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值