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 ...
随机推荐
- 运用python中装饰器方法来解决工作中为原有代码添加功能问题
Python 装饰器 在实际的工作中,经常碰到领导或产品经理会提出很多甚至(变态)的产品要求,作为python开发,好不容易完成领导的需求,做出一个产品,并且经过测试成功上线.突然有一天 ...
- 域名证书https配置问题
目前默认通配证书只适配2级通配.例如配置2级域名的通配证书 https://a.baidu.com.如果想配置三级域名的https 需购买3级通配证书.这样才可以配置三级域名. https://a.b ...
- 实践:带您用多种姿势将存储在腾讯云COS 上的视频播放
导语 随着5G时代的到来,短视频/直播行业开始流行,音视频逐渐成为信息传播中流量占比最大的部分.腾讯云对象存储(COS)作为可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务,早已不 ...
- 有关插槽中scope的问题
暂时不理解
- stm32的boot0和boot1
stm32的boot0和boot1 TM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 ...
- Python Cli 编写指南
Python Cli 编写指南 python实现cli 环境: python 3.8 库 python自带argparse 指南 简单示例 : cli.py import argparse def c ...
- Java基础——(综合练习)生成5位验证码
package com.zhao.test; import java.util.Random; public class Test16 { /*需求: 定义方法实现随机产生一个5位的验证码 验证码格式 ...
- E. Permutation Game
https://codeforces.com/contest/1772/problem/E 题目大意就是给一个1~n的全排序列,所有数字都是红色的,两人轮流操作,操作有三种选择,第一是将所有蓝色的数字 ...
- JS篇(004)-js 是一门怎样的语言,它有什么特点?
答案: 1.脚本语言.JavaScript 是一种解释型的脚本语言,C.C++等语言先编译后执行,而 JavaScript 是在程序的运行过程中逐行进行解释. 2.基于对象.JavaScript 是一 ...
- 【已解决】xlwings库合并单元格,不报错,不执行
源代码如下: import xlwings as xw app = xw.App(visible=True, add_book=False) app.display_alerts = False ap ...