gpt4 book ai didi

用于 VirtualBox 的 Python API

转载 作者:行者123 更新时间:2023-11-28 16:54:26 24 4
gpt4 key购买 nike

我已经为 virtualbox 创建了一个命令行界面,这样就可以从远程机器控制 virtualbox。现在我正在尝试使用 python virtualbox api 实现命令行界面。为此,我下载了 pyvb 包(python api 文档显示了可用于在 pyvb 包下实现此功能的函数)。但是当我给 pyvb.vb.VB.startVM(VB 类的实例,pyvb.vm.vbVM)

服务器端代码是

from pyvb.constants import *

from pyvb.vm import *

from pyvb.vb import *

import xpcom

import pyvb

import os

import socket

import threading

class ClientThread ( threading.Thread ):

# Override Thread's __init__ method to accept the parameters needed:
def __init__ ( self, channel, details ):

self.channel = channel
self.details = details
threading.Thread.__init__ ( self )

def run ( self ):

print 'Received connection:', self.details [ 0 ]
while 1:
s= self.channel.recv ( 1024 )
if(s!='end'):
if(s=='start'):
v=VB()
pyvb.vb.VB.startVM(v,pyvb.vm.vbVM)

else:
self.channel.close()
break
print 'Closed connection:', self.details [ 0 ]


server = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
server.bind ( ( '127.0.0.1', 2897 ) )
server.listen ( 5 )

while True:
channel, details = server.accept()
ClientThread ( channel, details ).start()

显示错误

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "news.py", line 27, in run
pyvb.vb.VB.startVM(v,pyvb.vm.vbVM.getUUID(m))
File "/usr/lib/python2.5/site-packages/pyvb-0.0.2-py2.5.egg/pyvb/vb.py", line 65, in startVM
cmd='%s %s'%(VB_COMMAND_STARTVM, vm.getUUID())
AttributeError: 'str' object has no attribute 'getUUID'

最佳答案

您可能想查看来自 Virtualbox 的官方 Python API。 pyvb 看起来像是第三方编写的包装器。

virtualbox sdk 包含 Python 示例和完整的 API 文档。

关于用于 VirtualBox 的 Python API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com