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学习笔记之列表推导式。分享给大家供大家参考,具体如下: 列表推导式 列表推导式可以快速简练地创建列表 之前的复杂写法: capitalized_cities...

node.js获取参数的常用方法(总结)

1、req.body 2、req.query 3、req.params 一、req.body例子 body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用re...

vscode 配置 python3开发环境的方法

vscode 配置 python3开发环境的方法

vscode来写python,配置灵活,界面美观,是个非常好的选择。我这里是在ubuntu系统下配置vscode的python3开发环境,当然也可以参照本文在其它操作系统下配置vscod...

Python 模块EasyGui详细介绍

Python 模块EasyGui详细介绍 前言: 在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库。下面就分享一下简单的使用吧。 参考的链接:官...

python实现任意位置文件分割的实例

应用场景 在嵌入式开发中,常常需要将一个binary文件分割成多个文件,或者将一个binary的某块区域抓成一个单独文件。本篇blog以python为例,实现了以上需求; 实现代码...