gpt4 book ai didi

python - 如何在 Python 中的 subprocess.Popen 中运行 awk -F\' ' {print $2}'?

转载 作者:太空狗 更新时间:2023-10-30 02:43:51 33 4
gpt4 key购买 nike

我需要在 Python 中的 subprocess.Popen 中运行一个 shell 命令。

命令是:$ virsh dumpxml server1 | grep '源文件' | awk -F\' '{print $2}'

输出是:/vms/onion.qcow2

我在使用上述命令时遇到了两个挑战:

1) 该命令在一个循环内,在您看到“server1”的地方,它是一个具有服务器名称的变量。

2) Python 报错 KeyError: 'print $2'

这是我目前所拥有的:

proc = subprocess.Popen(["virsh dumpxml {0} | grep 'source file' | awk -F\' '{print $2}'".format(vm)], stdout=subprocess.PIPE, shell=True)

stdout = proc.communicate()[0]

提前致谢。

最佳答案

虽然可以直接从 python 中使用 libvirt,但您的问题是 { 是格式字符串,并且在您的 awk 中包围了 print $2脚本也是如此,所以你必须像

proc = subprocess.Popen(["virsh dumpxml {0} | grep 'source file' | awk -F\\' '{{print $2}}'".format(vm)], stdout=subprocess.PIPE, shell=True)
stdout = proc.communicate()[0]

关于python - 如何在 Python 中的 subprocess.Popen 中运行 awk -F\' ' {print $2}'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900380/

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