配置比对脚本(python)

# -*- coding: utf-8 -*-
from datetime import *
import MySQLdb
import sys
import time
import datetime
import json
import logging

logging.basicConfig(level=logging.INFO,
                format=‘%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s‘,
                datefmt=‘%a, %d %b %Y %H:%M:%S‘,
                filename=‘tb_test004.log‘,
                filemode=‘w‘)

console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter(‘%(name)-12s: %(levelname)-8s %(message)s‘)
console.setFormatter(formatter)
logging.getLogger(‘‘).addHandler(console)

def process():
    dict1 = {}
    file1 = open("newlogic52.txt")
    while 1:
        line = file1.readline()
        if not line:
           break
        arr_line = line.split(‘=‘, 1 );
        if arr_line != None and len(arr_line) == 2:
            #logging.info(arr_line[0])
            #logging.info(arr_line[1])
            key = arr_line[0]
            value = arr_line[1]
            dict1[key] = value
        else:
            continue

    logging.info("-------------------------")

    dict2 = {}
    file2 = open("oldlogic52.txt")
    while 1:
        line = file2.readline()
        if not line:
           break
        arr_line = line.split(‘=‘, 1 );
        if arr_line != None and len(arr_line) == 2:
            #logging.info(arr_line[0])
            #logging.info(arr_line[1])
            key = arr_line[0]
            value = arr_line[1]
            dict2[key] = value
        else:
            continue

    f = file("hello3.txt","w+")
    logging.info("************************")
    sume = 0
    for key1 in dict1:
        #logging.info(key1)
        #logging.info(dict1[key1])
        for key2 in dict2:
            # logging.info(key2)
            # logging.info(dict2[key2])
            if key1.strip() == key2.strip() and dict1[key1].strip() != dict2[key2].strip():
                li1 = "new key:%s , value: %s \n" % (key1,dict1[key1])
                #logging.info(li1)
                li2 = "old key:%s , value: %s \n" % (key2,dict2[key2])
                #logging.info(li2)

            if key1.strip() == key2.strip() and dict1[key1].strip() == dict2[key2].strip():
                sume = sume + 1
            if key1.strip() == key2.strip() and dict1[key1].strip() == dict2[key2].strip():
                li1 = "%s=%s\n" % (key1.strip(),dict1[key1].strip())
                f.writelines(li1)
    f.close()

    dict3 = {}
    file3 = open("hello3.txt")
    while 1:
        line = file3.readline()
        if not line:
           break
        arr_line = line.split(‘=‘, 1 );
        if arr_line != None and len(arr_line) == 2:
            #logging.info(arr_line[0])
            #logging.info(arr_line[1])
            key = arr_line[0]
            value = arr_line[1]
            dict3[key] = value
        else:
            continue

    for key2 in dict2:
        # logging.info(key2)
        # logging.info(dict3[key2])
        if dict3[key2] == None:
            logging.info(key2)

    logging.info("@@@@@@@@@@@@@@@@@@@@@@@@@@")
    logging.info(sume)
    logging.info("new %s" % len(dict1))
    logging.info("old %s" % len(dict2))
    logging.info("same %s" % len(dict3))

if __name__ == "__main__":
   process()

时间: 2024-10-25 03:18:19

配置比对脚本(python)的相关文章

CentOS6.5配置vim使支持Python

CentOS6.5下开启vim对python的支持,配置方法如下: 1.检查系统已经安装了RPM包vim-enhenced; 2.复制默认的.vimrc初始化文件: # cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc 3.配置.vimrc文件: #vi ~/.vimrc 添加以下内容: set tapstop=4 set softtapstop=4 set shifwidth=4 set expandtap set autoindent se

nginx日志切割脚本,python实现

# 自搭建了个人博客 有需要交流学习的可以访问 www.wpython.com #!/usr/bin/env python   import datetime,os,sys,shutil   log_path = '/alidata/log/nginx/access/' log_file = 'www.wpython.com.log'   yesterday = (datetime.datetime.now() - datetime.timedelta(days = 1))   try:    

【转】jenkins上配置robotframeworkride自动化脚本任务

jenkins上配置robotframeworkride自动化脚本任务 编写好的自动化脚本,集成在jenkins上进行自动运行于监控,这里采用分布式构建,在一台slave上进行任务构建与自动化脚本的运行. 步骤: 1.创建jenkins任务 选择创建一个自由风格的任务 2.选择执行自动化脚本的slave机.(slave节点的配置参考) 图1 图2 etl-Suite.txt是自动化脚本 图3 Hi All, </br> <font color="#0B610B" si

检测app使用了多少个xib和js的脚本(python)

检测app使用了多少个xib和js的脚本(python) by 伍雪颖 #!/usr/bin/env python # coding=utf-8 import os, sys def countTargetFile(targetDir): resultStr = '' targetTypes = ['.nib', '.m', '.js'] for targetType in targetTypes: targetCount = 0 for root, dirs, files in os.walk

配置Ipython Nodebook 运行 Python Spark 程序

配置Ipython Nodebook 运行 Python Spark 程序 1.1.安装Anaconda Anaconda的官网是https://www.anaconda.com,下载对应的版本: 1.1.1.下载Anaconda $ cd /opt/local/src/ $ wget -c https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh 1.1.2.安装Anaconda # 参数 -b 表示 batch -p

Centos 配置开机启动脚本启动 docker 容器

原文:Centos 配置开机启动脚本启动 docker 容器 Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为什么不写个脚本自动重启呢,于是就有了这篇文章. 批量启动 Docker 容器 之前我们有提到过关于 docker 的一些骚操作 ,可以直接使用 docker start $(docker ps -aq) # 启动所有容器 docker s

Zabbix 配置钉钉脚本告警(4)

title: Zabbix 配置钉钉脚本告警(4) date: 2018-12-10 11:50:21 tags: Zabbix categories: Zabbix copyright: true --- Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统的监控过

python配置主机名脚本

1.准备hosts模板 mkdir -p /k8s/profile cat >/k8s/profile/hosts<<EOF 192.168.0.91 test1 192.168.0.92 test2 192.168.0.93 test3 EOF 2.编写脚本 cat > hostname.py <<EOF #!/usr/bin/python #-*- codinig: UTF-8 -*- from __future__ import print_function im

Flume配置|shell脚本|python|SQL

Flume是一种高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统. 可以看一下模型: 每一个flume代理(agent)可以提供一项flume服务.每一个代理有三个成员:source.channel.sink 如上图所示,由source获取数据并发送给channel,channel就好比一个缓冲区,由sink来从channel里读取数据. ---------------------------------------------- 暂时没有图写个思路先: 模型1:多source---1