作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写一段代码,使用pyvbox恢复特定虚拟机上的特定快照。 。
我有这个:
def readSnap(mach_name):
vbox = virtualbox.VirtualBox()
vm = vbox.find_machine(mach_name)
snap = vm.restore_snapshot()
但是最后一行抛出:
virtualbox.library_base.VBoxError: 0x80020009
(Method Machine::restoreSnapshot is not implemented)
我对使用这个模块很困惑。我知道 restore_snapshot() 接受的参数必须是 ISnapshot 的实例,但我也不知道如何使用它。
感谢您的帮助和时间。
最佳答案
我找到了解决方案。问题是我没有在代码中包含这一行:
snap = vm.find_snapshot(s_name)
恢复快照后,您需要使用以下命令解锁 session :
session.unlock_machine()
这是我的最终代码:
def read_snapshot(m_name, s_name):
start = time.time()
name = "read_snapshot"
vb = virtualbox.VirtualBox()
session = virtualbox.Session()
try:
vm = vb.find_machine(m_name)
snap = vm.find_snapshot(s_name)
vm.create_session(session=session)
except virtualbox.library.VBoxError as e:
return Report(name, "failed", e.msg, True)
except Exception as e:
return Report(name, "failed", str(e), True)
restoring = session.machine.restore_snapshot(snap)
while restoring.operation_percent < 100:
time.sleep(0.5)
session.unlock_machine()
if restoring.completed == 1:
return Report(name, "success", "restoring completed in {:>.4} sec".format(str(time.time() - start)), False)
else:
return Report(name, "failed", "restoring not completed", True)
关于python - 使用 pyvbox 在 virtualbox 中恢复快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53852900/
我是一名优秀的程序员,十分优秀!