使用python virtualbox API而不是使用XPCOM有什么好处?
答案 0 :(得分:8)
优点是pyvb更易于使用。
相反,XPCOM的python API的文档不存在,API根本不是pythonic。您无法进行内省以查找对象的方法/属性等。因此,您必须检查C ++源代码以查找其工作原理或已编写的某些python脚本(如vboxshell.py和VBoxWebSrv.py)
另一方面,pyvb实际上只是在命令行上调用VirtuaBoxManager的python包装器。我不知道这是不是真正的劣势?
答案 1 :(得分:5)
我通常建议不要使用其中任何一个。如果您需要以编程方式使用虚拟化,请查看libvirt,它为您提供跨平台和跨管理程序支持;这让你以后可以使用kvm / xen / vz / vmware。
也就是说,SOAP api使用了两个额外的抽象层(HTTP事务的客户端和服务器端),这非常清楚,然后只是调用XPCOM接口。
如果您只需要本地主机支持,请使用XPCOM。 libvirt / SOAP的额外间接对您没有帮助。 如果需要跨多个客户端计算机访问各种主机上的virtualbox,请使用SOAP或libvirt 如果您需要跨平台支持,或者在Linux上运行代码,请使用libvirt。
答案 2 :(得分:1)
来自VirtualBox python APIs上的sun网站:
SOAP允许控制远程虚拟机 HTTP ,而XPCOM则更多 高绩效并暴露某些 SOAP不具备的功能。
他们使用非常不同的技术 (SOAP是程序性的,而XPCOM是 OOP),但因为它最终是API 相同的功能 VirtualBox,我们保持绑定 原始语义,所以其他 连接建立,代码可以 写得像人一样 可能不在乎什么沟通 VirtualBox实例的通道是 使用
从那篇文章中,我无法看到“python virtualbox API”和“XPCOM”之间的区别。你能提供一个你想到的API的链接吗?