python调用lib_基于python调用libvirt API

基于python调用libvirt API

1、程序代码

#!/usr/bin/python

import libvirt

import sys

def createConnection():

conn = libvirt.openReadOnly(None)

if conn == None:

print 'Failed to open connection to QEMU/KVM'

sys.exit(1)

else:

print '-----Connection is created successfully-----'

return conn

def closeConnection(conn):

print ''

try:

conn.close()

except:

print 'Failed to close the connection'

return 1

print 'Connection is closed'

def getDomInfoByName(conn, name):

print ''

print '----- get domain info by name -----'

try:

myDom = conn.lookupByName(name)

except:

print 'Failed to find the domain with name "%s"' % name

return 1

print "Dom id: %d name: %s" % (myDom.ID(), myDom.name())

print "Dom state: %s" % myDom.state(0)

print "Dom info: %s" % myDom.info()

print "memory: %d MB" % (myDom.maxMemory()/1024)

print "memory status: %s" % myDom.memoryStatus()

print "vCPUs: %d" % myDom.maxVcpus()

def getDomInfoByID(conn, id):

print ''

print '----- get domain info by ID -----'

try:

myDom = conn.lookupByID(id)

except:

print 'Failed to find the domain with ID "%d"' % id

return 1

print "Domain id is %d ; Name is %s" % (myDom.ID(), myDom.name())

if __name__ == '__main__':

name1 = "kvm-guest"

name2 = "notExist"

id1 = 3

id2 = 9999

print "---Get domain info via libvirt python API---"

conn = createConnection()

getDomInfoByName(conn, name1)

getDomInfoByName(conn, name2)

getDomInfoByID(conn, id1)

getDomInfoByID(conn, id2)

closeConnection(conn)

2、运行,结果如图1所示

python libvirt-test.py 2>/dev/null

图 1

3、中间过程错误说明

执行运行命令时出现如图2所示的错误

图 2

本文实验环境是利用编译安装的qemu和libvirt,没有安装libvirt-python的依赖包,所以需要python官网上下载相应的包,下载链接如下

https://pypi.python.org/pypi/libvirt-python/3.10.0

下载后解压编译安装,操作如下

tar -zxvf libvirt-python-3.10.0.tar.gz

python setup.py build

python setup.py install

安装完成后,查看/usr/local/lib/python2.7/dist-packages/目录下是否有相应的包,如图3所示

图 3

即可继续执行步骤2中的指令即可得到相应运行结果。

使用Python调用Flickr API抓取图片数据

Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...

关于python调用zabbix api接口

因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix ...

Python调用win32 API绘制正弦波

Python调用win32 API新建窗口与直接创建窗口的流程相同 流程:注册窗口→创建窗口→显示窗口→更新窗口→消息循环 代码: # -*- coding: utf-8 -*- import win ...

python 调用zabbix api接口实现主机的增删改查

python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools()  调用zabbi ...

『Python』Python 调用 ZoomEye API 批量获取目标网站IP

#### 20160712 更新 原API的访问方式是以 HTTP 的方式访问的,根据官网最新文档,现在已经修改成 HTTPS 方式,测试可以正常使用API了. 0x 00 前言 ZoomEye 的 ...

Python调用ansible API系列(四)动态生成hosts文件

方法一:通过最原始的操作文件的方式 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 通过操作文件形式动态生成ansib ...

python 调用zabbix api实现查询主机信息,输出所有主机ip

之前发现搜索出来的主机调用zabbix api信息都不是那么明确,后来通过zabbix官方文档,查到想要的api信息,随后写一篇自己这次项目中用到的api. #!/usr/bin/env python ...

基于C语言libvirt API简单小程序

libvirt API简单小程序 1.程序代码如下 #include #include int getDomainInf ...

python调用java API

JPype documentation JPype is an effort to allow python programs full access to java class libraries. ...

随机推荐

windows安装zookeeper-单机模式

zookeeper下载地址:http://zookeeper.apache.org/releases.html#download   本次使用的是3.4.9版本 前提:请安装JDK 安装: 创建安装目 ...

rsyslog配置报错解决

配置过程中,查看/var/log/meassage 有报错信息: action '*' treated as ':omusrmsg:*' - please use ':omusrmsg:*' synt ...

利用Httponly提升web应用程序安全性

随着www服务的兴起,越来越多的应用程序转向了B/S结构,这样只需要一个浏览器就可以访问各种各样的web服务,但是这样也越来越导致了越来越 多的web安全问题.www服务依赖于Http协议实现,Htt ...

《zw版·Halcon-delphi系列原创教程》 3d汽车模型自动区域分割

3d汽车模型自动区域分割 目前,图像分析,在3D设计,机器视觉方面拥有很广.这个Halcon脚本是3d汽车模型自动区域分割,很简单才20 ...

Native App执行JS

iOS: - (void)webViewDidFinishLoad:(UIWebView *)webView{        //js方法名+参数    NSString* jsCode = [NSS ...

android 常用颜色

reference: http://blog.csdn.net/leewenjin/article/details/17386265

浅析Web缓存

在前端开发中,性能一直都是被大家所重视的一点,然而判断一个网站的性能最直观的就是看网页打开的速度.其中提高网页反应速度的一个方式就是使用缓存.一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并 ...

发布自己第一个npm 组件包(基于Vue的文字跑马灯组件)

一.前言 总结下最近工作上在移动端实现的一个跑马灯效果,最终效果如下: 印象中好像HTML标签的'marquee'的直接可以实现这个效果,不过 HTML标准中已经废弃了'marquee'标签 既然HT ...

mysql Unknown error 1054

mysql查询错误  Unknown error 1054 错误原因:字段名字不对应 解决方案:一一比对字段名称,令实体字段名称与数据库字段对应或者与你的sql语句中的别名对应起来

2018最新iOS端界面UI设计规范整理

在iPhone 6还没出的时候,都是用640×1136 px来做设计稿的,自从6的发布,所有的设计稿尺寸以750×1334 px来做设计稿尺寸 以750x1334px作为设计稿标准尺寸的原由: 从中间 ...

你可能感兴趣的:(python调用lib)