Python利用WMI实现ping命令的例子

yipeiwu_com6年前Python基础

WMI是Windows系统的一大利器,Python的win32api库提供了对WMI的支持,安装win32api即可使用 WMI。

本例通过WMI的WQL实现ping命令。

import wmi
c = wmi.WMI()
wql = "SELECT StatusCode FROM Win32_PingStatus WHERE Address = '127.0.0.1'"

for i in c.query(wql):
  if i.StatusCode:
    print 'offline'
  else:
    print 'online'

c.query(wql)的结构如下,其中StatusCode为0表示能够ping通,大于0表示ping不通

instance of Win32_PingStatus
{
  Address = "127.0.0.1";
  BufferSize = 32;
  NoFragmentation = FALSE;
  RecordRoute = 0;
  ResolveAddressNames = FALSE;
  SourceRoute = "";
  SourceRouteType = 0;
  StatusCode = 0;
  Timeout = 1000;
  TimestampRoute = 0;
  TimeToLive = 128;
  TypeofService = 128;
};

以上这篇Python利用WMI实现ping命令的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python functools模块学习总结

文档 地址 functools.partial 作用: functools.partial 通过包装手法,允许我们 "重新定义" 函数签名 用一些默认参数包装一个可调用对象,返回结果是可...

python 删除字符串中连续多个空格并保留一个的方法

如下所示: ' '.join(line.split()) 例如:'line dd',运行line.split()得到只有两个元素的列表['line','dd'] 以上这篇pytho...

用python生成与调用cntk模型代码演示方法

用python生成与调用cntk模型代码演示方法

由于一些原因,视频录制要告一段落了。再写一篇关于cntk的文章分享出来吧。我也很想将这个事情进行下去。以后如果条件允许还会接着做。 cntk2.0框架生成的模型才可以支持python。1...

python中退出多层循环的方法

1、定义标记变量;利用变量值的变化退出循环 # 第一种嵌套形式 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]] # init_i = 0 # init_j...

Python中bisect的用法

本文实例讲述了Python中bisect的用法,是一个比较常见的实用技巧。分享给大家供大家参考。具体分析如下: 一般来说,Python中的bisect用于操作排序的数组,比如你可以在向一...