今天 用 python 解决了一个实际问题,爽


刚才在看 python-chinese 的邮件列表,一个朋友想找个简单的分离ip地址的方法,他觉得有简单的办法,我想也有,可是初学 python 根本不知道什么函数了,看了这个朋友的需要,自己反正无聊就试着写个这个东西,结构终于让我搞成功了,不过希望高手不要笑话呀。呵呵,下面给出那个哥哥的邮件:
超卓 致 python-chinese 更多选项 17:08 (1½小时前)
主要是用来提取IP地址的。对Python的函数还不熟,所以请教了。
下面给出我的代码大家看看,效率不怎么样,可是可以实现那个功能了。
     
  • #!/usr/bin/python      
    • #Filename:ip.py      
    • #Use to split ip      
    • #author:zhaoguang      
    •       
    • ipAddress="192.168.0.1"      
    • def ipSplit(ipAddress):      
    •        ipScrap=0      
    •        finalIp=['']      
    •        ipLen=len(ipAddress)      
    •        print 'ipLen is',ipLen      
    •        i=0      
    •        for i in range(0,int(ipLen)):      
    •                if ipAddress=='.':      
    •                        ipScrap=ipScrap+1      
    •                        finalIp.append('')      
    •                        #ipLen=ipLen-1      
    •                else:      
    •                        finalIp[ipScrap]=finalIp[ipScrap]+ipAddress      
    •                        #ipLen=ipLen-1      
    •        else:      
    •                print '\nipSplit() done.\n'      
    •        i=0      
    •        for i in range(0,4):      
    •                print 'Section %d of Ip is %s' % (i,finalIp)      
    •       
    • ipSplit(ipAddress)
      这个把函数放到 def 里面,在外部 import 这个模块,直接使用就可以了,也算比较方便。呵呵,python,真是一个比较方便的工具呀。不过刚才又去会看了一下邮件列表,limodou 给出了最简单的方法:
      在 05-11-14,limodou limodou@gmail.com 写道:
      >
      > 正则表达式是一种方式,另一种简单的方式可以直接使用
      >
      > a = ‘192.168.0.1′
      > v = map(int, a.split(’.'))