首页 > 其他 > 详细

01-日常管理脚本-环境划分;

时间:2018-07-20 18:05:27      阅读:167      评论:0      收藏:0      [点我收藏+]
1.脚本功能介绍,     1.读取CMD系统IP地址,进行批量内网环境划分;     2.使用正则进行替换;         # -*- coding: utf-8 -*- 1.文件操作模式介绍;   模式描述 r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。     rb    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。     r+    打开一个文件用于读写。文件指针将会放在文件的开头。     rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。     w    打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。     wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。     w+    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。     wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。     a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。     ab    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。     a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。     ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。       2.json 模块方法介绍; JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。 json.dumps    将 Python 对象编码成 JSON 字符串     json.loads    将已编码的 JSON 字符串解码为 Python 对象     3.urlib 模块方法介绍;     https://docs.python.org/2/library/urllib.html#详细参考python 官网  python3
4.根据CMDB 接口提供json 数据,进行拆分处理ip地址,正则匹配出现 环境对应环境的网段 如下: 54 docker-dev 58 docker-test  46 虚拟机-dev 47 虚拟机-test

import json
import re
import urllib
class Operation_IP_Private(object):
    def VirtualMachine_Dev(self, url, parameter01, parameter02, parameter03):   ####初始化4个参数传入###
        with open('/root/VirtualMachine_Dev.txt', 'w') as f:             #####打开本地文件,已
            ip_list = []
            ip_rege = re.compile(r"(?<![\d.])%s\.%s\.%s[6-6]\.(.*)" % (parameter01, parameter02, parameter03))
            weatherHtml = urllib.urlopen(url)
            weatherHtml1 = weatherHtml.read()
            weatherJSON = json.loads(weatherHtml1)
            for i in weatherJSON["data"]:
                abc = i['privateIpAddress'] + "\n"
                ip_list.append(abc)
            for b in ip_list:
                if re.search(ip_rege, b):
                    f.write(b)
    def VirtualMachine_test(self, url, parameter01, parameter02, parameter03):
        with open('/root/VirtualMachine_test.txt', 'w') as f:
            ip_list = []
            ip_rege = re.compile(r"(?<![\d.])%s\.%s\.%s[7-7]\.(.*)" % (parameter01, parameter02, parameter03))
            weatherHtml = urllib.urlopen(url)
            weatherHtml1 = weatherHtml.read()
            weatherJSON = json.loads(weatherHtml1)
            for i in weatherJSON["data"]:
                abc = i['privateIpAddress'] + "\n"
                ip_list.append(abc)
            for b in ip_list:
                if re.search(ip_rege, b):
                    f.write(b)
    def Docker_Dev_IpAddress(self, url, parameter01, parameter02, parameter03):
        with open('/root/Docker_Dev_IpAddress.txt', 'w') as f:
            ip_list = []
            ip_rege = re.compile(r"(?<![\d.])%s\.%s\.%s[4-4]\.(.*)" % (parameter01, parameter02, parameter03))
            weatherHtml = urllib.urlopen(url)
            weatherHtml1 = weatherHtml.read()
            weatherJSON = json.loads(weatherHtml1)
            for i in weatherJSON["data"]:
                abc = i['privateIpAddress'] + "\n"
                ip_list.append(abc)
            for b in ip_list:
                if re.search(ip_rege, b):
                    f.write(b)
    def Docker_Test_IpAddress(self, url, parameter01, parameter02, parameter03):
        with open('/root/VirtualMachine_test.txt', 'w') as f:
            ip_list = []
            ip_rege = re.compile(r"(?<![\d.])%s\.%s\.%s[8-8]\.(.*)" % (parameter01, parameter02, parameter03))
            weatherHtml = urllib.urlopen(url)
            weatherHtml1 = weatherHtml.read()
            weatherJSON = json.loads(weatherHtml1)
            for i in weatherJSON["data"]:
                abc = i['privateIpAddress'] + "\n"
                ip_list.append(abc)
            for b in ip_list:
                if re.search(ip_rege, b):
                    f.write(b)
IP_address = Operation_IP_Private()
IP_address.VirtualMachine_Dev("http://172.17.37.93:1949/vserver/select", "192", "168", "4")
IP_address.VirtualMachine_test("http://172.17.37.93:1949/vserver/select", "192", "168", "4")
IP_address.Docker_Dev_IpAddress("http://172.17.37.93:1949/vserver/select", "192", "168", "5")
P_address.Docker_Test_IpAddress("http://172.17.37.93:1949/vserver/select", "192", "168", "5")


01-日常管理脚本-环境划分;

原文:http://blog.51cto.com/breaklinux/2147819

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!