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实现逻辑回归的方法示例

python实现逻辑回归的方法示例

本文实现的原理很简单,优化方法是用的梯度下降。后面有测试结果。 先来看看实现的示例代码: # coding=utf-8 from math import exp import ma...

python用quad、dblquad实现一维二维积分的实例详解

背景: python函数库scipy的quad、dblquad实现一维二维积分的范例。需要注意dblquad的积分顺序问题。 代码: import numpy as np from...

Python multiprocess pool模块报错pickling error问题解决方法分析

本文实例讲述了Python multiprocess pool模块报错pickling error问题解决方法。分享给大家供大家参考,具体如下: 问题 之前在调用class内的函数用mu...

Python使用__new__()方法为对象分配内存及返回对象的引用示例

Python使用__new__()方法为对象分配内存及返回对象的引用示例

本文实例讲述了Python使用__new__()方法为对象分配内存及返回对象的引用。分享给大家供大家参考,具体如下: demo.py(__new__方法): class MusicP...

详解Python Matplotlib解决绘图X轴值不按数组排序问题

详解Python Matplotlib解决绘图X轴值不按数组排序问题

在用Matplotlib库绘制折线图的时候遇到一个问题,当定义一个x轴数组时,plot绘制折线图时,x轴并不会按照我们定义的数组的顺序去排列显示,例如: import matplot...