博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输入任意IP,将IP转化为minion-IP格式(saltstack)
阅读量:4968 次
发布时间:2019-06-12

本文共 2983 字,大约阅读时间需要 9 分钟。

注1:10.102. 可以替换成其他的,或者手动输入。

注2:minion-可以替换为其他的,或者手动输入。

 

代码如下(python3):

import re# list = []list1 = []list2 = []list3 = []list4 = []with open('srcIp.txt') as fip,open('desIP','w') as f:        for data in fip.readlines():#         data = re.sub(r'[\s|,]', '\n', data)        data = re.sub(r'[^\d|\.]', '\n', data)         data = re.sub('10.102.', 'minion-', data)                              list1.append(data)    for data in list1:        data = data.strip('\n')        if data == '':            continue        data = re.sub(r'\s+', ',', data)        list2.append(data)    for data in list2:        if ',' in data:            data = data.split(',')            for i in range(0,len(data)):                list3.append(data[i])            continue        list3.append(data)    for data in list3:        if not data.startswith('minion'):            data = 'minion-' + data              list4.append(data)            continue        list4.append(data)    print('作用IP数:%s' % len(list4))    i = 0    for data in list4:        if i == len(list4) - 1:            f.write(data)            f.write('\n')            break        data = data + ','        f.write(data)        i += 1

源IP文件内容:

10.102.37.4110.102.37.6110.102.38.11010.102.38.11110.102.38.7110.102.38.7710.102.38.8010.102.38.81             10.102.32.98  10.102.32.99                           10.102.32.100  10.102.32.10110.102.36.32  10.102.36.33  10.102.36.72    10.102.38.87 10.102.38.88 10.102.38.89 10.102.38.90 10.102.38.91 10.102.36.32,10.102.36.33 10.102.36.72,     10.102.38.87 25.221      38.36          32.2133.65   ,33.65 ,32.21            (25.33,95.66,58.37;55.99;)

执行完脚本后文件内容:

minion-37.41,minion-37.61,minion-38.110,minion-38.111,minion-38.71,minion-38.77,minion-38.80,minion-38.81,minion-32.98,minion-32.99,minion-32.100,minion-32.101,minion-36.32,minion-36.33,minion-36.72,minion-38.87,minion-38.88,minion-38.89,minion-38.90,minion-38.91,minion-36.32,minion-36.33,minion-36.72,minion-38.87,minion-25.221,minion-38.36,minion-32.21,minion-33.65,minion-33.65,minion-32.21,minion-25.33,minion-95.66,minion-58.37,minion-55.99

可见,把各种IP变成了SaltStack可操作的IP。(我们salt minion的名称都是minion-IP后两位的格式)

 

 

 

 

代码2,此方法直接输入内容,输出内容,省去了读文件写文件:

import re,jsonlist1 = []list2 = []stopword = 'run'str1 = ''print('请输入IP:')for line in iter(input,stopword):    str1 += line + '\n'with open('sss','w') as f:    f.write(json.dumps(str1))with open('sss','r') as f1,open('sss1','w') as f2:    for data in f1.readlines():        data = re.sub(r'[^\d|\.]', '\n', data)        data = re.sub(r'\n+', '\n', data)        data = re.sub('10.102.', 'minion-', data)        print(data)    f2.write(data)with open('sss1') as f3:    for data in f3:        if not data.startswith('minion-') and not data.startswith(' '):            data = 'minion-' + data        list1.append(data)    for data in list1:        data = re.sub(r'\n', ',', data)        list2.append(data)    for data in list2:        print(data,end='')

 

转载于:https://www.cnblogs.com/fuckily/p/5804616.html

你可能感兴趣的文章
php PDO (转载)
查看>>
wordpress自动截取文章摘要代码
查看>>
[置顶] 一名优秀的程序设计师是如何管理知识的?
查看>>
scanf和gets
查看>>
highcharts 图表实例
查看>>
ubuntu下如何查看用户登录及系统授权相关信息
查看>>
秋季学期学习总结
查看>>
SpringBoot 优化内嵌的Tomcat
查看>>
【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
PL/SQL Developer 查询的数据有乱码或者where 字段名=字段值 查不出来数据
查看>>
宏定义
查看>>
笔记:git基本操作
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
windows平台上编译mongdb-cxx-driver
查看>>
optionMenu-普通菜单使用
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>