首页 > 解决方案 > 执行带参数的python脚本

问题描述

当我执行这个 python 脚本时,我尝试使用 python 在 vmware (vsphere) 上获取虚拟机名称:

https://github.com/vmware/pyvmomi-community-samples/blob/master/samples/get_vm_names.py

我有这个消息:

python3 test2.py --host ip_of_vmware
usage: test2.py [-h] -s HOST [-o PORT] -u USER [-p PASSWORD] [-S]
test2.py: error: the following arguments are required: -u/--user

我不知道如何执行这个脚本。

我认为它曾经用于输入参数的这一行:

 si = SmartConnectNoSSL(host=args.host,
                               user=args.user,
                               pwd=args.password,
                               port=int(args.port))
        atexit.register(Disconnect, si)

我想知道如何执行这个脚本。感谢您的任何回复,

标签: python

解决方案


该程序所需的参数由该程序中的 setup_args 函数构建,而该函数又似乎由该行构建:

parser = cli.build_arg_parser()

这是在我没有的包裹中,所以我看不到它在做什么。

然而,帮助信息,没有明确说明哪些参数是强制性的,暗示了这个大方向。我相信 [ ] 中的参数是可选的,其他所有内容都是必需的,因此您至少需要 -s HOST 和 -u USER

python3 test2.py -s HOST -u USER

或者

python3 test2.py --host HOST --user USER

推荐阅读