一、功能说明

       有时候项目需要通过ip地址来判定是否允许访问,通常通过一个白名单地址文件来存放这些允许放行的ip,但每次打开文件编辑比较麻烦,容易出错,也不知道是否添加过,故用python写了一个自动添加白名单的脚本。

二、脚本内容

#!/usr/bin/env python#coding:utf-8#2017-06-09 ver:1.0import syswhite_list="white_list.txt"add_ip=sys.argv[1].strip()checkIp=add_ip.split('.')if len(checkIp)!= 4:  print("ip[长度]不合法.程序退出!")  sys.exit(5)elif not checkIp[0].isdigit() or not  checkIp[1].isdigit() or not  checkIp[2].isdigit() or not  checkIp[3].isdigit():  print("ip[不是数字]不合法.程序退出!")  sys.exit(5)elif int(checkIp[0]) >= 254 or int(checkIp[1]) > 255 or int(checkIp[2]) >255  or int(checkIp[3]) >255:  print("ip[数字范围]不合法.程序退出!")  sys.exit(5)new_ip = str(add_ip + "\n")f=open(white_list,'r')IPS=f.readlines()if new_ip in IPS:  print "The add ip %s is in white list." % new_ip.split()else:  fw=open(white_list,'a+')  fw.write(new_ip)  print "The add ip %s add in white list OK~" % new_ip.split()  fw.close()

三、执行结果

$ ./add_white.py 192.168.1.256

ip[数字范围]不合法.程序退出!
$ ./add_white.py 256.0.0..
ip[长度]不合法.程序退出!
$ ./add_white.py afdafda
ip[长度]不合法.程序退出!
$ ./add_white.py a.a.a.a
ip[不是数字]不合法.程序退出!
$ ./add_white.py 192.1.1
ip[长度]不合法.程序退出!
$ ./add_white.py 192.168.1.2
The add ip ['192.168.1.2'] add in white list OK~
]$ ./add_white.py 192.168.1.2
The add ip ['192.168.1.2'] is in white list.
写的比较简单,有不当之处欢迎指正交流~