gpt4 book ai didi

python - 在 python 子进程中使用 exec 查找命令会出错

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:35 24 4
gpt4 key购买 nike

我正在尝试使用子进程模块(python)执行以下命令

/usr/bin/find <filepath> -maxdepth 1 -type f -iname "<pattern>" -exec basename {} \;

但是,它给出了以下错误:

/usr/bin/find: missing argument to `-exec'

我猜这与转义某些字符有关。但不知道如何克服这个问题。

感谢任何帮助。谢谢。

最佳答案

另一个问题的答案有帮助: https://stackoverflow.com/a/15035344/971529

import subprocess

subprocess.Popen(('find', '/tmp/mount', '-type', 'f',
'-name', '*.rpmsave', '-exec', 'rm', '-f', '{}', ';'))

我想不通的是分号不需要转义,因为分号通常由 bash 解释,需要转义。

在 bash 中,这个等价物是:

find /tmp/mount -type f -name "*.rpmsave" -exec rm -f {} \;

关于python - 在 python 子进程中使用 exec 查找命令会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9799594/

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