(本机环境:win7;python 2.7.9; vbox 4.3.12)
目标:
完成官网(https://pypi.python.org/pypi/pyvbox)上的demo:
> python
In [1]: import virtualbox In [2]: vbox = virtualbox.VirtualBox() In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
VM(s):
+ filestore
+ xpsp3
+ win7
+ win8
+ test_vm
 
 
1 安装python——vbox组件
---------------------安装vboxapi------------------------------------------
这个路径下有个vboxapisetup.py
C:\Program Files\Oracle\VirtualBox\sdk\install
pyvbox需要用到vboxapi库。
python vboxapisetup.py install (如果成功,跳过看2;失败请继续)
可能会出现错误:
这是说安装脚本不知道vbox安装路径在哪里。我们需要指定。
set VBOX_INSTALL_PATH="C:\Program Files\Oracle\VirtualBox"
这次安装试一下:
 
成功!
 
独立安装vboxapi:
这个url下,有各个版本的vbox各种安装文件。
解压
VirtualBoxSDK-4.3.12-93733\sdk\installer
中有vboxapisetup.py
用同上的方法安装。
 
 
 
---------------------安装pywin32------------------------------------------
下载相对应的版本。我的是32位python。(不会查看的话,进入python,会提示
 
2 简单使用
 
试运行:
> python
In [1]: import virtualbox In [2]: vbox = virtualbox.VirtualBox() In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
VM(s):
+ filestore
+ xpsp3
+ win7
+ win8
+ test_vm
 
如果出现:
去1查看“安装pywin32一节”
 
 
成功之后的样子:
 
3 高级应用
vbox官方出了一个功能比较强大的python脚本——vboxshell.py
D:\ccode\vbox>python vboxshell.py
Running VirtualBox version 4.3.12
vbox> help
Help page:
    alias: Control aliases
    attachCtr: Attach storage controller to the VM: attachCtr win Ctr0 IDE ICH6
    attachHdd: Attach HDD to the VM: attachHdd win /disk.vdi "IDE Controller" 0:1
    attachIso: Attach CD/DVD to the VM: attachIso win /os.iso "IDE Controller" 0:1
    attachUsb: Attach USB device to the VM (use listUsb to show available devices): attachUsb win uuid
    ... ...
    verbose: Toggle verbosity
vbox>
 
 
查看信息
vbox> info droid4x
 One can use setvar <mach> <var> <value> to change variable, using name in [].
  Name [name]: droid4x
    ... ...
    Location: D:\code\client\Refactor\Droid4X\tinyplayer\Release\VirtualBox VMs\droid4x\droid4x-disk3.vmdk
    Name: droid4x-disk3.vmdk
    Format: VMDK
 
  Shared folders:
vbox>
 
完毕!

python 控制vbox虚拟机的更多相关文章

  1. python应用-使用python控制win2003服务器

    经调研和测试,服务端可通过ansible控制各linux服务器(容器),进行各类操作,且支持远程控制windows服务器,但windows操作系统中,需安装.net及powershell3.0及以上版 ...

  2. vbox 虚拟机共享文件夹 debian

    主机64位windows7 虚拟机Debian 8 64位 注意:在网络更新时,可能需要修改 etc/apt/sources.list 文件,把前几条从CD更新删除掉,这样就会从网络更新 1.vbox ...

  3. Mac系统下使用VirtualBox虚拟机安装win7--第一步 安装vbox虚拟机

    Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Down ...

  4. 主机通过host-only虚拟网卡连接VBOX虚拟机

    主机通过host-only虚拟网卡连接VBOX虚拟机 How to set up host-only virtual machines that host can access it... 问题 因为 ...

  5. vbox虚拟机和vm虚拟机 虚拟机网络不通的解决方法

    vm网络不通的情况: 第一步 :打开物理机, 选中“计算机”*(,右键—管理—服务,找到以VM开头的服务,选中后,右键—启动,就可以了.如图: 第二步: 这样基本就可以了,如果还不行 如果重启失效了, ...

  6. python控制selenium点击登录按钮时报错 unknown error: Element is not clickable at point

    利用python控制selenium进行一个网页的登录时报错: C:\Users\Desktop\selenium\chrome>python chrome.py selenium.common ...

  7. 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...

  8. vbox虚拟机配置Redhat6.4本地yum源

    作为一个新手,配置这个yum源配了4天,遇到了各种问题,也按照网络上面一些方法在163上面下载CentOS6的yum源来替换Redhat本地的yum源,但是配置过程中,出现很多错误,发现直接在本地配置 ...

  9. ubuntu安装vbox虚拟机

    ubuntu安装vbox虚拟机 一.安装准备 1.查看主机配置 二.下载安装包    (建议将安装包下载并保存) a.下载virtualbox安装包 下载链接https://www.virtualbo ...

随机推荐

  1. PHP版3DES加解密类

    <?php /** * * PHP版3DES加解密类 * * 可与java的3DES(DESede)加密方式兼容 * * @Author:蓝凤(ilanfeng.com) * * @versio ...

  2. spark向量

    转自 1.本地向量MLlib的本地向量主要分为两种,DenseVector和SparseVector,顾名思义,前者是用来保存稠密向量,后者是用来保存稀疏向量,其创建方式主要有一下三种(三种方式均创建 ...

  3. WPF学习笔记4——Layout之2

    下面简单介绍常见的面板. 一.Grid 1.Grid关于调整行列距离有三种方法:绝对大小,自动大小,比例大小.如下: <ColumnDefinition Width="100" ...

  4. Perl中的特殊内置变量详解

    #!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并 ...

  5. 程序使用嵌套的for循环找出2〜100中的素数

    #import <Foundation/Foundation.h> int main () { /* local variable definition */ int i, j; ; i& ...

  6. 进程、线程、GDI+、XML、委托

    进制 表示某一位置上的数运算时是逢X进一位.二进制就是逢二进一, 十进制是逢十进一,十六进制是逢十六进一,以此类推. so:二进制001010101只有0和1计算机中的数据都是二进制表示,四进制以0. ...

  7. easy ui 菜单和按钮(Menu and Button)

    http://www.zi-han.net/case/easyui/menu&button.html

  8. dive into python 读笔(2)

    chapter 4 自省, summary: # 用可选和命名参数定义和调用函数 # 用 str 强制转换任意值为字符串形式 # 用 getattr 动态得到函数和其它属性的引用 # 扩展列表解析语法 ...

  9. 微软职位内部推荐-Sr DEV Lead, Bing Search Relevance

    微软近期Open的职位: Contact Person: Winnie Wei (wiwe@microsoft.com )Sr DEV Lead, Bing Search RelevanceLocat ...

  10. 商品库存SKU

    一种解决方案(性能垃圾,基本实现功能)商品表  属性集表 属性表 属性值表 SKU表 SKU选项表  属性集和属性之间的中间表表关系商品表  *--------------1  属性集表属性集表 *- ...