基于python的pc终端信息采集解决方案

2 篇文章 1 订阅
2 篇文章 0 订阅

                                                                    基于python的pc终端信息采集解决方案

目标需求概述:能够采集终端电脑的ip/mac/计算机名/补丁等基础信息,按需实现指定软件版本的查询,如:防病毒软件版本、FoxMail软件版本采集。

总体设计概述:基于C/S架构实现整个系统的搭建,基于python实现客户端的开发,基于java SSM实现后台服务端的搭建。客户端和服务端之间能够通讯,能够实现数据的交互。

编码实施过程中的困难点:部分信息采集需借助windows的bat程序实现,如获取补丁信息,需要通过systeminfo实现,需要解决python和bat程序之间的调用问题。

程序结构:

说明:

根据代码功能的定位尽量做代码分层,便于后期的维护。

"""
PcInfoCheck-v1.0.0.py :程序入口
PcInfoClass.py :pc终端信息类
CallServer.py : 用于与服务端进行数据交互
CheckInfo.py : 业务逻辑处理,获取pc各种信息
CheckPatchUtil.py : 主要是校验本地已安装的补丁是否和服务器上的不列表是否一致工具类
LoggerUtil.py : 记录主要的日志的信息工具类
PcInfoUtil.py : 获取操作系统的各种信息工具类
SystemCodeUtil.py : 获取配置文件信息工具类
CheckView.py : 终端界面
"""

#通过windows批处理脚本实现读取注册表信息
def checkVisusVersion():
    realVersion = versionDict['antivirusVersion']
    flg = 0
    strVirusVersion = ''
    if '64' in systemType:
        strRegUrl = "D:\PcInfoCheck\config\getVirusVersion.bat"
    else:
        strRegUrl = "D:\PcInfoCheck\config\getVirusVersion_win7_32.bat"
    p = subprocess.Popen(strRegUrl, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    curline = p.stdout.readline()
    dictResult = {'flg': 'False', 'version': 'null'}
    while (curline != b''):
        curline = p.stdout.readline()
        if "DisplayVersion\"=" in str(curline):
            flg = 1
            strVisurVersion = str(curline)
            if realVersion in strVisurVersion:
                dictResult = {'flg': 'True', 'version': realVersion}
                LoggerUtil.log('CheckInfo.checkVisusVersion=' + str(dictResult))
                return dictResult
            else:
                dataVersion = strVisurVersion.split('"')
                dictResult = {'flg': 'False', 'version': dataVersion[3]}
                LoggerUtil.log('CheckInfo.checkVisusVersion=' + str(dictResult))
                return dictResult
    LoggerUtil.log('CheckInfo.checkVisusVersion=' + str(dictResult))
    return dictResult

最终能够实现的效果:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值