首页 文章 精选 留言 我的

精选列表

搜索[文档处理],共10000篇文章
优秀的个人博客,低调大师

Python IP处理模块IPy(转载)

安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令python setup.py install安装。 使用 1、显示IP类型 IP('192.168.1.1').version() 4 IP('::1').version() 6 类似如上所示,通过version方法可以的判断输入的IP是IPv4还是IPv6 。 2、网段计算输出 代码: from IPy import IP ip=IP('192.168.0.0/28') print ip.len() for x in ip: print x print ip.strNormal(0) print ip.strNormal(1) print ip.strNormal(2) print ip.strNormal(3) len()方法可以计算网段的IP个数。 strNormal()方法指定不同wantprefixlen参数可以定制不同类型的输出。上面输出类似如下: 16 192.168.0.0 192.168.0.1 192.168.0.2 192.168.0.3 ...... 192.168.0.15 192.168.0.0 192.168.0.0/28 192.168.0.0/255.255.255.240 192.168.0.0-192.168.0.15 3、格式转换 实例介绍几个常用方法,包括方向解析名称、IP类型、IP进制转换、网络地址网段地址转换。 ip=IP('192.168.0.1') print ip.reverseNames() #反向解析地址格式 print ip.iptype() #显示IP地址类型,私有还是公有 ip=IP('8.8.8.8') print ip.iptype() print ip.int() #转换成整型格式 print ip.strHex() #转换成十六进制格式 print ip.strBin() #转换成二进制格式 网络地址、网段地址格式转换 print (IP('192.168.1.0').make_net('255.255.255.0')) print (IP('192.168.1.0/255.255.255.0',make_net=True)) print (IP('192.168.1.0-192.168.1.255',make_net=True)) 4、地址比较 判断IP地址和网段是否包含于另一个网段中,如下: '192.168.1.1' in IP('192.168.1.0/24') True IP('192.168.1.0/24') in IP('192.168.0.0/16') True 判断两个网段是否存在重叠,如下: IP('192.168.0.0/23').overlaps('192.168.1.0/24') 1 IP('192.168.1.0/24').overlaps('192.168.2.0') 0 其中1表示存在重叠,0表示不存在重叠。 举例 代码: coding:utf-8 from IPy import IP ip_s=raw_input("please input an IP or net-range: ") ips=IP(ip_s) if len(ips)>1: #网络地址 print('net: %s' % ips.net()) print('netmask: %s' % ips.netmask()) print('broadcast: %s' % ips.broadcast()) print('reverse address: %s' % ips.reverseNames()[0]) print('subnet: %s' % len(ips)) else: #单个地址 print('reverse address: %s' % ips.reverseNames()[0]) print('hexadecimal: %s' % ips.strHex()) print('binary: %s' % ips.strBin()) print('iptype: %s' % ips.iptype()) 运行结果: C:\Users\admin\workspace\zhangnq>python IPy_test2.py please input an IP or net-range: 192.168.1.1 reverse address: 1.1.168.192.in-addr.arpa. hexadecimal: 0xc0a80101 binary: 11000000101010000000000100000001 iptype: PRIVATE C:\Users\admin\workspace\zhangnq>python IPy_test2.py please input an IP or net-range: 8.8.8.8 reverse address: 8.8.8.8.in-addr.arpa. hexadecimal: 0x8080808 binary: 00001000000010000000100000001000 iptype: PUBLIC C:\Users\admin\workspace\zhangnq>python IPy_test2.py please input an IP or net-range: 192.168.1.0/28 net: 192.168.1.0 netmask: 255.255.255.240 broadcast: 192.168.1.15 reverse address: 0.1.168.192.in-addr.arpa. subnet: 16 hexadecimal: 0xc0a80100 binary: 11000000101010000000000100000000 iptype: PRIVATE ipy模块用法 一个自动识别IP地址、子网、方向解析、IP类型等信息的脚本 !/usr/bin/env python -- coding: utf-8 -- <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">def ip(): try: from IPy import IP ###加载模块 ip_s = raw_input('请输入IP地址或者网段地址:' )###输入一个IP地址或者网段 ips = IP(ip_s) #定义元素 if len(ips) > 1: #如果len出来的数字大于1,那么就是一个网段 print('网络地址: %s' % ips.net()) print('子网掩码: %s' % ips.netmask()) print('网络广播地址: %s' % ips.reverseNames() [0]) print('网络子网数: %s' % len(ips)) else: ###否则就是一个地址 print('IP反向解析: %s' % ips.reverseNames() [0]) print('十六进制地址: %s' % ips.strHex()) print('二进制地址: %s' % ips.strBin()) print('地址类型: %s' % ips.iptype()) print time.strftime("%Y-%m-%d %H:%M:%S") #code except Exception, e: logging.info("error:" + str(e) + "\n" + traceback.format_exc()) print traceback.format_exc() finally: pass</pre> 运行效果: [root@mylinuxer python]# 192.168.1.0/24 -bash: 192.168.1.0/24: No such file or directory [root@mylinuxer python]# python python.py 请输入IP地址或者网段地址: 192.168.1.0/24 网络地址: 192.168.1.0 子网掩码: 255.255.255.0 网络广播地址: 1.168.192.in-addr.arpa. 网络子网数: 256 [root@mylinuxer python]# python python.py 请输入IP地址或者网段地址: 192.168.1.1 IP反向解析: 1.1.168.192.in-addr.arpa. 十六进制地址: 0xc0a80101 二进制地址: 11000000101010000000000100000001 地址类型: PRIVATE [root@mylinuxer python]# python python.py 请输入IP地址或者网段地址: 116.213.249.211 IP反向解析: 211.249.213.116.in-addr.arpa. 十六进制地址: 0x74d5f9d3 二进制地址: 01110100110101011111100111010011 地址类型: PUBLIC

优秀的个人博客,低调大师

iOS图像处理之绘制直线

-(void)drawLine:(CGPoint)fromPnt toPoint:(CGPoint)toPnt{ float xScale = theImageView.image.size.width/theImageView.frame.size.width; float yScale = theImageView.image.size.height/theImageView.frame.size.height; UIGraphicsBeginImageContext(theImageView.image.size); [theImageView.image drawInRect:CGRectMake(0, 0, theImageView.image.size.width, theImageView.image.size.height)]; CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapSquare); CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0*[self returnMax:xScale withNumber:yScale]); CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES); CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); CGContextBeginPath(UIGraphicsGetCurrentContext()); CGContextMoveToPoint(UIGraphicsGetCurrentContext(), fromPnt.x*xScale, fromPnt.y*yScale); CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), toPnt.x*xScale, toPnt.y*yScale); CGContextStrokePath(UIGraphicsGetCurrentContext()); theImageView.image=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); } 本文转自 卓行天下 51CTO博客,原文链接:http://blog.51cto.com/9951038/1772572,如需转载请自行联系原作者

优秀的个人博客,低调大师

访问网站慢解决处理方法

面试题:作为Linux运维,客户反映打开你的网站服务器很慢,如何排除。 1.网站宽带问题。网站购买带宽是否满了,通过流量监控服务产看。 2.网站内部问题: telnetwww.baidu.com80检查服务器web服务有没有开启以及防火墙有没有挡住。nmapwww.baidu.com-p 80 curlwww.baidu.com或wgetwww.baidu.com相当于浏览器访问。 3.提供服务的服务器是否资源过载,服务器及服务链接数过多,负载高,CPU高,Io高 外部问题: 4.服务器CPU过高,内容资源过大。 5.内链外链(调用外部网站网址有问题) 调试网站前端调试的工具: google浏览器 F12 火狐浏览器 firebug yslow IE浏览器 httpwatch 6.其他问题: 个别客户自身问题,用户的线路和网站带宽的线路不符。 集群架构问题:数百台服务器提供服务 web服务问题 数据库问题,登录数据库,看是否有慢查询语句(showproceslist),调整MYSQL配置,优化SQL语句。 本文转自写个博客骗钱博客51CTO博客,原文链接http://blog.51cto.com/dadonggg/1948339如需转载请自行联系原作者 菜鸟东哥

优秀的个人博客,低调大师

Hadoop常见错误及处理方法

1、Hadoop-root-datanode-master.log 中有如下错误:ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in 导致datanode启动不了。 原因:每次namenode format会重新创建一个namenodeId,而dfs.data.dir参数配置的目录中包含的是上次format创建的id,和dfs.name.dir参数配置的目录中的id不一致。namenode format清空了namenode下的数据,但是没有清空datanode下的数据,导致启动时失败, 所以失败的原因是版本不一致造成的。 两种解决办法 第一种 进入每个datanode的dfs.data.dir 的 current目录,修改里面的文件VERSION #Fri Nov 23 15:00:17 CST 2012 namespaceID=246015542 storageID=DS-2085496284-192.168.1.244-50010-1353654017403 cTime=0 storageType=DATA_NODE layoutVersion=-32 里面有个 namespaceID 将其修改成为报错信息中的 namenode namespaceID = 971169702 相同的namespaceID . 然后重新启动 datanode全部都能正常启动了 第二种: 直接删除数据节点上的文件,直接删除每个datanode 上面dfs.data.dir目录下所有的文件 rm -rf * 删除之后 重新启动 也是可以正常的启动所有的datanode 进到dfs.data.dir目录下 所有的datanode又全部重新生成了。 这样旧的数据全都不会在能找回了。其实namenode格式化了,这些数据也无用了。 2、如果datanode连接不上namenode,导致datanode无法启动。 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Call to ... failed on local exception: java.net.NoRouteToHostException: No route to host 关闭防火墙机器重启后,防火墙还会开启。 3、从本地往hdfs文件系统上传文件,出现如下错误: INFO hdfs.DFSClient: Exception in createBlockOutputStream java.io.IOException: Bad connect ack with firstBadLink INFO hdfs.DFSClient: Abandoning block blk_-1300529705803292651_37023 WARN hdfs.DFSClient: DataStreamer Exception: java.io.IOException: Unable to create new block. 解决方法: 关闭防火墙: 禁用selinux: 编辑 /etc/selinux/config文件,设置“SELINUX=disabled” 4、安全模式导致的错误 org.apache.hadoop.dfs.SafeModeException: Cannot delete ..., Name node is in safe mode 在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。 本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/p/4422728.html,如需转载请自行联系原作者。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册