广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python和shell的ping对比
  • 156
分享到

python和shell的ping对比

pythonshellping 2023-01-31 06:01:51 156人浏览 薄情痞子

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

摘要

1.shell脚本ping局域网的脚本    脚本代码#!/bin/bash for i in {1..50} do ping -c 1 192.168.0.$i >/dev/null&#

1.shell脚本ping局域网的脚本

   脚本代码

#!/bin/bash
for i in {1..50}
do
        ping -c 1 192.168.0.$i >/dev/null
        if [ $? = 0 ]
        then
                echo "192.168.0.$i used"
        else
                echo "192.168.0.$i unused"
        fi
done

执行结果及执行时间

2.python版本ping局域网的脚本(windowslinux通用)

#!/usr/bin/Python
#_*_coding:utf-8_*_
import os
import time
from threading import Thread
class PING(Thread):
        def __init__(self,ip):
                Thread.__init__(self)
                self.ip=ip
        def run(self):
                if os.name=="nt":
                        output=os.popen("ping -n 1 %s" % (self.ip)).read().split("\r\n")
                        if "Packets: Sent = 1, Received = 1, Lost = 0 (0% loss)," in output:
                                print "%s 使用" % self.ip
                        else:
                                print "\033[32m%s 未使用\033[0m" % self.ip
                elif os.uname()[0] == "Linux":
                         output=os.popen("ping -c 1 -w 2 %s" % (self.ip)).read().split("\n")
                         if "1 packets transmitted, 1 received, 0% packet loss, time 0ms" in output:
                                print "%s 使用\r" % self.ip
                         else:
                                print "\033[32m%s 未使用\r\033[0m" % self.ip
                else:
                         print ("%s is ERROR" %(self.ip))
#多线程同时执行
T_thread=[]
Ip_addr=[]
aa=raw_input('\033[31m input ping range,exp:192.168.0.0,192.168.0.10 \033[0m\n>>>')
aa1=aa.split('.')
ip1="%s.%s.%s." %(aa1[0],aa1[1],aa1[2])
ip2=int(aa1[6])
ip2+=1
aa2=aa1[3].split(',')
for i in range(int(aa2[0]),ip2):
        Ip_addr.append(ip1+str(i))
for i in Ip_addr:
        t=PING(i)
        T_thread.append(t)
for i in range(len(T_thread)):
        T_thread[i].start()

执行结果和时间截图

总结

有可能小批量任务看不出明显差别,但是大批量执行,python多线程脚本是shell脚本使用的一半时间

--结束END--

本文标题: python和shell的ping对比

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python和shell的ping对比
    1.shell脚本ping局域网的脚本    脚本代码#!/bin/bash for i in {1..50} do ping -c 1 192.168.0.$i >/dev/null&#...
    99+
    2023-01-31
    python shell ping
  • 对比java和python
    对比java和python    1.难易度而言。python远远简单于java。   2.开发速度。Python远优于java   3.运行速度。java远优于标准python,pypy和cython可以追赶java,但是两者都没有...
    99+
    2023-01-31
    java python
  • 如何使用shell脚本实现ping对应IP所对应的人名
    这篇文章给大家分享的是有关如何使用shell脚本实现ping对应IP所对应的人名的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例#!/bin/basha=(张三 李四 王五 赵六)...
    99+
    2023-06-09
  • 使用shell脚本实现ping对应IP所对应的人名(推荐)
    #!/bin/bash a=(张三 李四 王五 赵六) for i in {0..3} do if ping -c 1 192.168.1. $((${i}+1)) >dev/null 2>&...
    99+
    2022-06-04
    人名 脚本 所对应
  • python break和continue用法对比
    比较说明 break和continue是python两个关键字 break和continue只能用在循环中 break是终止循环的执行, 即循环代码遇到break,就不再循环了。 continue是结束本次循环,继续...
    99+
    2022-06-02
    python break continue
  • SQL和Python的集合操作对比
    本篇内容主要讲解“SQL和Python的集合操作对比”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL和Python的集合操作对比”吧!集合操作分析式问题通常...
    99+
    2022-10-18
  • Shell脚本传递参数的方法对比
    这篇文章主要介绍“Shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!...
    99+
    2023-06-09
  • Python 2与Python 3版本和编码的对比
    一、版本对比 首先要说的是,Python的版本,目前主要分为两大类: Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3。 Python 3.x的版本的,被...
    99+
    2022-06-04
    版本 Python
  • Windows 同步:Python 和 JavaScript 的对比分析
    在 Windows 操作系统中,同步是一种非常重要的概念。同步可以让不同的应用程序之间协调工作,共享数据,并保持一致性。在本文中,我们将比较 Python 和 JavaScript 的同步机制,看看它们在 Windows 平台上的优劣势。...
    99+
    2023-09-09
    javascript windows 同步
  • Python和Java的语法对比,语法简
    Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LISP。Python的设计哲学强调代码的可读性和简洁的语法(尤其是...
    99+
    2023-01-31
    语法 Python Java
  • Python列表和集合的效率对比
    程序运行效率程序的运行效率分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个程序的运行速度,而空间复杂度主要衡量一个程序所需要的额外存储空间。一个程序执行所耗费的时...
    99+
    2023-05-14
    列表 Python 集合
  • Python2与Python 3的对比
    首发 http://www.everlose.info/notes/2013/10/31/difference-between-python3-to-python2/ 这篇文章总结了一些与Python2.6相比Python3.0中的新特性...
    99+
    2023-01-31
    Python
  • Go语言中的并发模型:如何与Shell和Bash对比?
    在计算机科学领域,"并发"一词是指在同一时间内执行多个独立的任务。在现代编程语言中,支持并发的语言越来越普遍。其中,Go语言因其强大的并发模型而备受推崇。本文将讨论Go语言的并发模型,并将其与Shell和Bash进行对比。 一、Shell...
    99+
    2023-09-30
    并发 shell bash
  • memcached和redis的对比
    说起缓存框架,我们最常用的缓存框架有 memcached、Redis 这两个,但它们之间其实是有差异的。Memcached 的诞生2003年5月,Brad Fitzpatrick 发布了第一个版本的 Mem...
    99+
    2022-10-18
  • C#和Java的对比
    这篇文章主要介绍“C#和Java的对比”,在日常操作中,相信很多人在C#和Java的对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#和Java的对比”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!C#...
    99+
    2023-06-18
  • 如何进行Java和Python的编程对比
    这篇文章给大家介绍如何进行Java和Python的编程对比,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。因为以前会点Java,现在来看当然是弱爆了。学习Python的需求非常紧迫,所以我想快速学习掌握Python,有没...
    99+
    2023-06-04
  • python和nodejs对比有什么区别
    python和nodejs对比的区别有:1、python中需要使用virtualenv来分割管理依赖包,而nodejs中通过NPM包管理;2、python中使用from/import进行引入模块;而nodejs引入的其他模块在本模块内都有局...
    99+
    2022-10-07
  • Python语言的优劣对比
    本篇文章给大家分享的是有关Python语言的优劣对比,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python有哪些常用库python常用的库:1.requesuts;2.sc...
    99+
    2023-06-14
  • python 对比两个list的值
    原文:http://www.jb51.net/article/56980.htm a = [1,2,3,4,6] b = [1,2,3,7,9] # 差集 b中有而a中没有的 print list(set(b).difference(s...
    99+
    2023-01-31
    两个 python list
  • 【转载】Go对比Python的优点
    Go对比Python的优点如下【转载自知乎Rio】: 一、部署简单。Go 编译生成的是一个静态可执行文件,除了glibc 外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需...
    99+
    2023-01-31
    优点 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作