【问题标题】:How do I translate this command into Python 3 language?如何将此命令翻译成 Python 3 语言?
【发布时间】:2018-06-19 19:28:25
【问题描述】:

我想把这个命令翻译成 Python 3 可以理解的东西。我正在使用 WMI 模块(v1.4.9)。在命令行中,在这个提示符下:

wmic:root\cli>

我会输入这个:

/node:TargetComputerNameHere 产品获取名称、版本、供应商

如果想用 IP 地址代替计算机名称,可以使用 IP 地址代替 TargetComputerNameHere。通常域管理员能够执行此操作,但我在命令提示符中没有管理员访问权限的情况下对其进行了测试,并且能够正常运行它。

【问题讨论】:

    标签: python-3.x command-line command pycharm


    【解决方案1】:

    您可以尝试将您的命令表达为可直接从cmd.exe 运行的内容(如wmic /node:TargetComputerNameHere product get name, version, vendor),然后使用:

    import subprocess
    subprocess.run(your_cmd_exe_command, shell=True, check=True)
    

    【讨论】:

    • 如何让它从 cmd.exe 读取命令?我会将所述命令保存到文件中以供读取吗?
    • 根据this tutorial,来自答案的命令可能按原样工作(也可以尝试wmic /helpwmic /?;就个人而言,我既不使用WMIC 也不使用Windows)。然后运行subprocess.run('wmic /node:TargetComputerNameHere product get name, version, vendor', shell=True, check=True)
    • 它可以工作(我用我设置的 IP 地址替换了 TargetComputerNameHere),但现在我想让它打印到我已经制作的 txt 文件中。我想我必须使用某种重定向标志,但我尝试使用 > 和 >> 都没有成功。
    • @fread 如果这在cmd.exe 中也不起作用,我想你最好在 superuser.com 上问一个单独的与 python 无关的问题。
    • 成功了!谢谢。现在我只需要对其进行修改,以便将其写入我已经设置的文件中。我会尝试自己解决这个问题。