gpt4 book ai didi

python - 从 Python 脚本启动 VirtualBox VM

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:40 26 4
gpt4 key购买 nike

我有这个简单的脚本..不起作用

import subprocess
subprocess.call(["C:\Program Files\Oracle\VirtualBox\VBoxManage.exe", "VBoxManage startvm WIN7"])

我在一个 bat 文件中有同样的东西......它工作得很好。

cd C:\Program Files\Oracle\VirtualBox
VBoxManage startvm "WIN7"

我在 Windows 8.1(我的主机操作系统)的路径中有 VBoxManage.exe。

python 脚本理解 VBoxManage 可执行文件并吐出它的手册然后这个..

Syntax error: Invalid command 'VBoxManage startvm WIN7'

你能给我一种从 python 脚本内部启动虚拟机的方法吗,可以直接调用 .exe 文件,也可以运行 .bat 文件?

注意:我已经搜索了 vboxshell.py 文件,但没有在任何地方找到它...:[

最佳答案

subprocess.call() 需要一个参数列表,如下所示:

subprocess.call(['C:\Program Files\Oracle\VirtualBox\VBoxManage.exe',
'startvm',
'WIN7'])

您的代码将“VBoxManage startvm WIN7”作为单个参数传递给 VBoxManage.exe,它期望在那里只找到一个命令(例如“startvm”)。后续参数(在本例中为“WIN7”)需要单独传递。

另外,使用subprocess.call()时不需要重复可执行文件名。 Python 文档中的示例调用 UNIX 命令“ls -l”,如下所示:

subprocess.call(['ls', '-l'])

换句话说,您不需要重复“VBoxManage”部分。

关于python - 从 Python 脚本启动 VirtualBox VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24909998/

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