gpt4 book ai didi

python - 在 Python 中如何将字符串通过管道传输到可执行文件标准输入中?

转载 作者:可可西里 更新时间:2023-11-01 11:13:37 24 4
gpt4 key购买 nike

在 Windows 上,我有一个从标准输入读取的程序 (prog.exe)。在 python 中,我想将一个字符串作为输入传递给它的标准输入。如何做到这一点?

类似于:

subprocess.check_output("echo {0} | myprog.exe".format(mystring)) 

或(使参数成为列表)

subprocess.check_output("echo {0} | myprog.exe".format(mystring).split())

好像不行。它给了我:

WindowsError: [Error 2] The system cannot find the file specified

我还尝试将“stdin”关键字 arg 与 StringIO(这是一个类文件对象)一起使用

subprocess.check_output(["myprog.exe"], stdin=StringIO(mystring))

仍然不走运 - check_output 不适用于 StringIO。

最佳答案

您应该使用 Popen communicate 方法 ( docs )。

proc = subprocess.Popen(["myprog.exe"], stdin=subprocess.PIPE)
stdout, stderr = proc.communicate('my input')

关于python - 在 Python 中如何将字符串通过管道传输到可执行文件标准输入中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571404/

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