功能示例:
使用 -m 参数 指定主服务器地址,即查询此服务器上所有的子ip
使用 -s 参数 指定子ip, 即可查询此子ip所在的服务器主ip地址
使用 -h 或 -help 参数可打印help
使用 -v 或-version参数可打印版本
如果程序参数不合法,则提示帮助
好了,功能就这么多,我们来看看怎么用python 实现的。
一,我们先看一下数据库,看一下他的结构,其实数据库里很简单,只记录了ip的对应关系。
如下图
二,我们来看一下程序是怎么写的, 先贴一下程序。
#! /usr/bin/python #Filename select.py import MySQLdb,os,sys try: conn = MySQLdb.connect("localhost","root","密码","ips",charset="utf8") except MySQLdb.OperationalError, message: print "link error" def masterip(ip): sql="select secip from ip_master where masterip='%s'" %ip cursor=conn.cursor() n=cursor.execute(sql) cds=cursor.fetchall() for cd in cds: for col in cd: print "%s" % (col) cursor.close() conn.close() def secip(ip): sql="select masterip from ip_master where secip='%s'" %ip cursor=conn.cursor() n=cursor.execute(sql) cds=cursor.fetchall() for cd in cds: for col in cd: print "%s" % (col) cursor.close() conn.close() if len(sys.argv)
三.对程序进行解释
#! /usr/bin/python import MySQLdb,os,sys #加载 mysqldb os sys try: conn = MySQLdb.connect("localhost","root","密码","ips",charset="utf8") except MySQLdb.OperationalError, message: print "link error" #尝试利用括号里的信息去连接数据库,如果连接数据库不成功刚打印link error! def masterip(ip): sql="select secip from ip_master where masterip='%s'" %ip cursor=conn.cursor() n=cursor.execute(sql) cds=cursor.fetchall() for cd in cds: for col in cd: print "%s" % (col) cursor.close() conn.close() # 定义一个masterip函数, 括号里的ip 为参数,在下面的sql语句里用到。sql后面是查询语句。 利用上面括号里定义的ip 去查询 子ip。再利用for 循环逐个打印出ip! def secip(ip): sql="select masterip from ip_master where secip='%s'" %ip cursor=conn.cursor() n=cursor.execute(sql) cds=cursor.fetchall() for cd in cds: for col in cd: print "%s" % (col) cursor.close() conn.close() # 定义一个secip函数, 括号里的ip 为参数,在下面的sql语句里用到。sql后面是查询语句。 利用上面括号里定义的ip 去查询 主ip。再利用for 循环逐个打印出ip! if len(sys.argv)
如果跟上面所有的参数都不符合,就直接打印帮助信息。
Ok!程序完了。很简单,但好像也很实用。
查看更多关于python学习之编写查询ip程序的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did83166