ask*_*ask 9 python virtualbox xpcom
使用python virtualbox API而不是使用XPCOM有什么好处?
优点是pyvb更容易使用.
相反,XPCOM的python API的文档不存在,并且API根本不是pythonic.您无法进行内省以查找对象的方法/属性等.因此,您必须检查C++源代码以查找其工作原理或已编写的某些python脚本(如vboxshell.py和VBoxWebSrv.py).
另一方面,pyvb实际上只是在命令行上调用VirtuaBoxManager的python包装器.我不知道这是不是真正的劣势?
我通常会建议不要反对任何一个。如果您需要以编程方式使用虚拟化,请查看libvirt,它为您提供了跨平台和跨虚拟机管理程序的支持。稍后您可以使用它来执行kvm / xen / vz / vmware。
就是说,SOAP API使用了两个额外的抽象层(HTTP事务的客户端和服务器端),很显然,然后只需调用XPCOM接口即可。
如果只需要本地主机支持,请使用XPCOM。libvirt / SOAP的额外间接对您没有帮助。如果需要跨多台客户端计算机访问各种主机上的virtualbox,请使用SOAP或libvirt。如果要跨平台支持,或者要在Linux上运行代码,请使用libvirt。
来自 sun 的VirtualBox python API网站:
SOAP 允许通过 HTTP控制远程虚拟机,而 XPCOM 的性能要高得多,并且公开了 SOAP 不可用的某些功能。
它们使用非常不同的技术(SOAP 是过程性的,而 XPCOM 是 OOP),但由于它最终是 VirtualBox 相同功能的 API,因此我们保留了绑定的原始语义,因此除了连接建立之外,代码可以用这样的方式编写人们可能不关心使用什么与 VirtualBox 实例的通信通道。
从那篇文章中,我很难看出“python virtualbox API”和“XPCOM”之间的区别。您能否提供您正在考虑的 API 的链接?