gpt4 book ai didi

Python 子进程和 shell 输入重定向

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

在 unix 命令行上我可以做:

paste <(echo A) <(echo B)

但是,当我尝试这样做时:

import subprocess
subprocess.call('paste <(echo A) <(echo B)', shell = True)

我收到这个错误:

/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `paste <(echo A) <(echo B)'

是否不能使用子进程模块进行 shell 输入重定向?

最佳答案

许多东西默认使用 /bin/sh 作为选择的 shell。 /bin/sh 通常不是 bash。

您系统上的 /bin/sh 很可能不支持进程替换。

说服 subprocess.call 使用 /bin/bash 作为 shell,它应该可以工作。

关于Python 子进程和 shell 输入重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25911325/

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