gpt4 book ai didi

python - 向 python 子进程发送复杂的 shell 命令

转载 作者:行者123 更新时间:2023-11-28 17:50:45 25 4
gpt4 key购买 nike

我正在编写一个脚本,该脚本在 Python 中使用了一系列复杂的 Imagemagick 命令。我想知道如何调用这样的东西......

转换 1.png\( +clone -background black -shadow 110x1+9+9\) +swap -background none -layers merge +repage 2.png

我非常乐意使用子进程调用简单命令,但我还不知道如何指定执行顺序(转义括号)。

我当然可以使用 os.system 或 commands 模块,但由于这些都离开了语言,我肯定更愿意使用 subprocess。

最佳答案

是的,你想使用subprocess。您只需将每个参数放在您提供给 Popen 的参数列表中的单独项目中:

subprocess.Popen(['convert', '1.png', '(', '+clone', '-background', 'black', '-shadow', '110x1+9+9',
')', '+swap', '-background', 'none', '-layers', 'merge', '+repage', '2.png'],
otherargments=values, etc=etc)

您也可以事先建立该参数列表,以防您的参数顺序需要更改。

您不需要对参数进行任何转义(例如参数内的空格,或其他特殊的 shell 字符,如“(”和“)”),因为这不会被 shell 解释.

关于python - 向 python 子进程发送复杂的 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10586780/

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