Python subnet 操作物件
subnetcalc.py
class SubnetCalc(object):
def __init__(self, network, mask):
self.network = network.split(".")
self.msk = mask.split(".")
@property
def subnet(self):
return ".".join(self.network) @property
def mask(self):
return ".".join(self.msk) def _MaskToBin(self):
binarymask = ''
for i in self.msk:
binarymask += bin(int(i))[2:].zfill(8)
return binarymask @property
def first(self):
firstIP = self.network.copy()
firstIP[3] = str(int(firstIP[3]) + 1)
return ".".join(firstIP) def specifyIP(self,num):
spec = self.network.copy()
spec[3] = str(num)
return ".".join(spec) def plusNIP(self,num):
nIP = self.first.split(".")
nIP[3] = str(int(nIP[3]) + int(num))
return ".".join(nIP) @property
def broadcastIP(self):
brcstIP = self.network.copy()
fIP = self.first.split(".")[3]
brcstIP[3] = int(fIP) + (int(self.countIP()))
brcstIP[3] = str(brcstIP[3])
return ".".join(brcstIP) @property
def last(self):
lIP = self.broadcastIP.split(".")
lIP[3] = str(int(lIP[3]) - 1)
return ".".join(lIP) def countIP(self):
mask = int('11111111111111111111111111111111',2)
sub_mask = int(self._MaskToBin(),2)
return int(mask ^ sub_mask) - 1
f.write(" pool{\n") f.write(" failover peer \"dhcpfailover\";\n") f.write(" range %s %s;\n" % (subnetHK.plusNIP(5),subnetHK.last)) f.write(" }") f.write("}\n") i += 1f.close()
Python subnet 操作物件的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- Python 字符串操作
Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...
- Python目录操作
Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- Python list 操作
创建列表sample_list = ['a',1,('a','b')] Python 列表操作sample_list = ['a','b',0,1,3] 得到列表中的某一个值value_start = ...
- Python Mongo操作
# -*- coding: utf-8 -*- ''' Python Mongo操作Demo Done: ''' from pymongo import MongoClient conn = None ...
- python数据库操作之pymysql模块和sqlalchemy模块(项目必备)
pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载安装 pip3 install pymysql 2.操作数据库 (1).执行sql #! ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- python excel操作总结
1.openpyxl包的导入 Dos命令行输入 pip install openpyxl==2.3.3 这里注意一下openpyxl包的版本问题 版本装的太高有很多api不支持了,所以笔者这里用的是2 ...
- python/ORM操作详解
一.python/ORM操作详解 ===================增==================== models.UserInfo.objects.create(title='alex ...
随机推荐
- div 自动高度
问题: 一个页面分上下二部分,上部分高度是固定不变的,要求下部分高度自动占满屏幕,如何实现? 第一感觉是准备用 JS 实现. 今天发现一个用 CSS 实现的方法 position: fixed; bo ...
- C# List 分页代码
List<int> testList = new List<int>();for (int i = 1; i <= 23; i++){ testList.Add(i);} ...
- 像这个TSC打印机售后维修服务平台网站,是如何做到复制不到网站里面的内容的?
这个条码之家是TSC打印机售后维修服务平台网站 网址是这个,http://www.tiaomazhijia.com 打开网站,复制不了里面的内容,右健也另存不了图片等,是如何做到的. tsc显示错误亮 ...
- pytorch循环神经网络实现回归预测 代码
pytorch循环神经网络实现回归预测 学习视频:莫烦python # RNN for classification import torch import numpy as np import to ...
- P1982 [NOIP2013 普及组] 小朋友的数字 题解
目录 简单版 题目 code 本题 code 简单版 先要会做这道题 题目 P1115 最大子段和https://www.luogu.com.cn/problem/P1115 这道题其实是动态规划,d ...
- SAP 自建事务码
自建事务码的 事务码 se93 一般来说开发人员会遇到,开发了报表已经一些功能,不会让业务人员通过se38来进行使用,一般会新建一个事务码让业务人员在t-code中的使用 配置对应的程序即可
- Jupyter Notebook基本配置与使用
Jupyter Notebook,原名IPython Notbook,是IPython的加强网页版,一个开源Web应用程序 1.创建虚拟环境 mkvirtualenv ai 2.进入虚拟环境 work ...
- Redis集群(主从复制)
主从复制主从复制原理 Redis集群中有很多Redis服务器,这些Reids服务器分为主服务器和从服务器. 从服务器会向主服务器发送命令:SYNC命令. 主服务器接收到SYNC命令后,开始执行GBSA ...
- dos命令初学
DOS命令 打开DOS命令方式 开始+系统+命令提示符 WIN键盘+R 输入CMD 打开控制台(推荐使用) 在任意文件夹下面,按住shift键加鼠标右键点击,在此处打开命令行窗口 自愿管理器的地址栏前 ...
- RTSP配置海康相机视频
RTSP:即时串流协定(Real Time Streaming Protocol,RTSP)是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制. 1.获取海康相机ip地址 (1).下载海 ...