【发布时间】:2012-06-20 02:01:45
【问题描述】:
如何将字符串/数据发送到python中正在运行的进程的STDIN?
我想为 CLI 程序创建一个前端。例如。我想将多个字符串传递给这个 Pascal 应用程序:
program spam;
var a,b,c:string;
begin
while e <> "no" do
begin
writeln('what is your name?');
readln(a);
writeln('what is your quest?');
readln(b);
writeln('what is your favorite color?');
readln(c);
print(a,b,c);
end;
end.
我如何将字符串从 python 传递给这个程序(使用 python 中的子进程模块)。谢谢。对不起我的英语。
【问题讨论】:
-
如果您想控制另一个交互式程序,不妨试试
Pexpect module。 -
谢谢你布莱尔!我多年来一直在寻找这个解决方案! :)
-
@gnibbler - 现在已经这样做了。
-
顺便问一下,expect 还有其他跨平台替代方案吗?
-
已经用一个可能的选项更新了我的答案 - 未经测试,因为我这里没有 Windows。
标签: python process fork subprocess stdin