返回顶部
首页 > 资讯 > 后端开发 > Python >python学习.编写查询ip程序
  • 761
分享到

python学习.编写查询ip程序

程序pythonip 2023-01-31 07:01:30 761人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

公司服务器上的ip最少的也有100多个,有时候查到一个站的Ip, 不想通过OA去查,自己就用自己最近学的python知识,结合数据库,编写了一Python小程序。实现只要输入主ip就能查到这台服务器的子ip,输入子ip能查到此ip所在的主服

公司服务器上的ip最少的也有100多个,有时候查到一个站的Ip, 不想通过OA去查,自己就用自己最近学的python知识,结合数据库,编写了一Python小程序。实现只要输入主ip就能查到这台服务器的子ip,输入子ip能查到此ip所在的主服务器。

功能示例:

使用 -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)<2:

        print "You have an error in you syntax,please you -help,-h for help"

        sys.exit()

 

if "-h"==sys.argv[1] or "-help"==sys.argv[1]:

        print '''\

This program select master ips and slave ips.

Options include:

-s  slave ip :use slave ip to select msterip

-m  masterip :use master ip to select slaveip

-h;-help     :help

-v;-version  :prints version '''

        sys.exit()

 

elif "-v"==sys.argv[1] or "-version"==sys.argv[1]:

        print "Version is 0.1"

        sys.exit()

 

elif "-s"==sys.argv[1]:

        if len(sys.argv)<3:

                print "You have an error in you syntax,please you -help,-h for help"

                sys.exit()

        ip=sys.argv[2]

        secip(ip)

 

elif "-m"==sys.argv[1]:

        if len(sys.argv)<3:

                print "You have an error in you syntax,please you -help,-h for help"

                sys.exit()

        ip=sys.argv[2]

        masterip(ip)

 

else:

        print "You have an error in you syntax,please you -help,-h for help"

 

 

 

三.对程序进行解释

#! /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)<2:

        print "You have an error in you syntax,please you -help,-h for help"

        sys.exit()

 

判断命令行参数,如果命令行参数小于2,(命令本身就属于一个参数)就打印提示信息,并退出,此行的意思就是半数命令后面有没有跟参数,如果没有跟参数,就直接退出。

 

if "-h"==sys.argv[1] or "-help"==sys.argv[1]:

        print '''\

This program select master ips and slave ips.

Options include:

-s  slave ip :use slave ip to select msterip

-m  masterip :use master ip to select slaveip

-h;-help     :help

-v;-version  :prints version '''

        sys.exit()

 

#判断命令行第一个数据是不是 -h (注,命令行参数是从0开始,也就是命令本身),如果是 -h的话,就打印帮助信息,并退出。

 

elif "-v"==sys.argv[1] or "-version"==sys.argv[1]:

        print "Version is 0.1"

        sys.exit()

 

#判断命令行第一个数据是不是 -v (注,命令行参数是从0开始,也就是命令本身),如果是 -v的话,就打印版本信息,并退出。

 

elif "-s"==sys.argv[1]:

        if len(sys.argv)<3:

                print "You have an error in you syntax,please you -help,-h for help"

                sys.exit()

        ip=sys.argv[2]

        secip(ip)

 

#判断命令行第一个数据是不是 -s (注,命令行参数是从0开始,也就是命令本身),如果是 -s的话,判断命令行参数是否小于3,也就是 -s 后面有没有跟参数(ip), 如果没跟的话,就打印提示信息,并退出 。如果跟了的话,就把-s 后面的参数给 ip这个变量,并执行 secip() 这个函数。

 

elif "-m"==sys.argv[1]:

        if len(sys.argv)<3:

                print "You have an error in you syntax,please you -help,-h for help"

                sys.exit()

        ip=sys.argv[2]

        masterip(ip)

 

#判断命令行第一个数据是不是 -m (注,命令行参数是从0开始,也就是命令本身),如果是 -m的话,判断命令行参数是否小于3,也就是 -m 后面有没有跟参数(ip), 如果没跟的话,就打印提示信息,并退出 。如果跟了的话,就把-m 后面的参数给 ip这个变量,并执行 masterip() 这个函数。

 

else:

        print "You have an error in you syntax,please you -help,-h for help"

 

如果跟上面所有的参数都不符合,就直接打印帮助信息。

 

 

Ok!程序完了。很简单,但好像也很实用。

--结束END--

本文标题: python学习.编写查询ip程序

本文链接: https://lsjlt.com/news/191251.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python学习.编写查询ip程序
    公司服务器上的ip最少的也有100多个,有时候查到一个站的Ip, 不想通过OA去查,自己就用自己最近学的python知识,结合数据库,编写了一python小程序。实现只要输入主ip就能查到这台服务器的子ip,输入子ip能查到此ip所在的主服...
    99+
    2023-01-31
    程序 python ip
  • python学习之编写查询ip程序
    公司服务器上的ip最少的也有100多个,有时候查到一个站的Ip, 不想通过OA去查,自己就用自己最近学的python知识,结合数据库,编写了一python小程序。实现只要输入主ip就能查到这台服务器的子ip...
    99+
    2022-06-04
    程序 python ip
  • Python的爬虫程序编写框架Scrapy入门学习教程
    1. Scrapy简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 其最初是为了页面抓取 (更确切来说, 网络抓取...
    99+
    2022-06-04
    爬虫 框架 入门
  • 学习笔记编写vue的第一个程序
    目录1、编写一个html,第一个vue程序注意视图模板和数据判断循环事件 787原则el属性data属性template属性methods属性render属性compute...
    99+
    2024-04-02
  • 如何编写Python程序来解决编程算法问题?学习笔记分享!
    Python是一种被广泛应用于各个领域的编程语言。在算法领域,Python也有着广泛的应用。本文将分享如何编写Python程序来解决编程算法问题,并给出一些学习笔记和实际演示代码。 一、Python编程基础 Python是一种易于学习的编程...
    99+
    2023-06-23
    编程算法 学习笔记 load
  • 学习python之编写简单简单连接数据库并执行查询操作
    python 连接数据库操作, 方法如下: 在本机的mysql 数据库中有一个名为yao的库,其中有一个名为user的表,表中的内容如图 下面,则是python连接数据库的方法,及查找出表中的内容,代码如...
    99+
    2022-06-04
    简单 连接数据库 操作
  • Python编程学习3:Python 对
    面试遇到一个问题:如何删除一个python对象?下面将介绍python的对象引用和 del删除引用1.  首先介绍下python的对象引用1)Python中不存在传值调用,一切传递的都是对象引用,也可以认为是传址调用。即Python不允许...
    99+
    2023-01-31
    Python
  • 【python】编程学习练习题--3
      1 #利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:代码:  2    3 from functools import reduce   4 str = '123.456'...
    99+
    2023-01-31
    练习题 python
  • python编程学习使用管道Pipe编写优化代码
    目录什么是管道?Where:可迭代对象中的过滤元素Select:将函数应用于可迭代对象展开可迭代对象1、chain方法2、traverse:递归展开可迭代对象将列表中的元素...
    99+
    2024-04-02
  • Python学习——程序入口
    python和C++/Java不一样,没有主函数一说,也就是说python语句执行不是从所谓的主函数main开始的。 当运行单个python文件时,如运行a.py,这个时候a的一个属性__name__是__main__。 当调用某个...
    99+
    2023-01-31
    入口 程序 Python
  • Python学习:购物程序
    一.脚本要求启动程序后,让用户输入工资,然后打印商品列表;允许用户根据商品的编号购买商品;用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒;结算购物车,打印已购买商品和余额;可随时退出程序;二.涉及Python知识点注释变量用户输入...
    99+
    2023-01-31
    程序 Python
  • Python学习笔记三(Python程序
     Linux系统自带的python版本通常都比较低,可以在python官方网站(http://www.python.org/download/)下载最新源码包,然后进行升级安装。1.下载python源码包。wget http://www....
    99+
    2023-01-31
    学习笔记 程序 Python
  • Python学习教程:成语查询工具 - 数据获取
    Python学习教程:成语查询工具 - 数据获取我们从这个网站上获取想要的内容,不用考虑太多的板块,直接按照字母检索即可...
    99+
    2023-06-02
  • 如何编写 Python 程序
    如何编写 Python 程序 从今以后,保存和运行 Python 程序的标准步骤如下: 对于 PyCharm 用户 打开 PyCharm。 以给定的文件名创建新文件。 输入案例中给出的代码。 右键并运行当前文件。 注意:每当你需要提供...
    99+
    2023-01-31
    程序 Python
  • 怎么编写Python程序
    本篇内容介绍了“怎么编写Python程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编写代码的工具交互式环境我们打开Windows的“命令...
    99+
    2023-06-01
  • python学习:读写文件和字典排序
              今天来做一个题目,有一个文件,内容如下:[root@Virtual python]# cat a.csv  源文件2004-5-27,2,3,2,3 2004-5-27,872,0,872,0 2004-5-2...
    99+
    2023-01-31
    字典 文件 python
  • python中asyncio异步编程学习
    1.   想学asyncio,得先了解协程 携程的意义: 计算型的操作,利用协程来回切换执行,没有任何意义,来回切换并保存状态 反倒会降低性能。 ...
    99+
    2024-04-02
  • 如何在Linux系统上使用Python编写并发程序?学习笔记分享!
    Linux系统是一个非常适合编写并发程序的操作系统,Python作为一门支持多线程的编程语言,可以帮助我们很好地实现并发编程。在本篇文章中,我将分享我在学习Linux系统上使用Python编写并发程序的一些笔记和心得。本文将从以下几个方面进...
    99+
    2023-07-07
    linux 学习笔记 并发
  • ubuntu怎么编写Python程序
    ubuntu编写Python程序的方法:打开ubuntu系统,进入终端命令行窗口。直接输入“Python”,即可进行Python编写。注:如果要编写大型的Python程序,需要使用PyCharm等IDE才行。...
    99+
    2024-04-02
  • 在VS2017中编写Python程序
      最近开始了python的学习,在搭建完python环境之后,在选择IDE的时候陷入了困境,首先选择的是PyCharm但是用着还是不习惯,毕竟用VS开发了几年了,突然换软件总感觉有点不适应,就想到了强大的VS能不能写Python程序呢?...
    99+
    2023-01-30
    程序 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作