首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最接近于Haskell中的subprocess.communicate

最接近于Haskell中的subprocess.communicate
EN

Stack Overflow用户
提问于 2009-11-11 09:04:06
回答 2查看 1.2K关注 0票数 1

我想从Haskell做一个popen() /python的subprocess.communicate --启动一个程序,给它stdin,然后得到它的stdout/stderr。最直接/Haskell化的方式是什么?

EN

Stack Overflow用户

回答已采纳

发布于 2009-11-11 09:29:57

选择MissingHSystem.Cmd.Utils和标准库的System.Process,它们都很容易使用,既有高级的便利函数(只需抛出字符串,也可以懒惰地获取字符串)和低级的管道函数(它们实际上提供句柄,就像其他语言/框架中的大多数popen函数一样)。

代码语言:javascript
复制
import System.Process

main = do
    let cmd = "mail"
        args = ["root@localhost", "-s", "does this act like popen?"]
        input = ["Hello, world!"]
    (rc, out, err) <- readProcessWithExitCode cmd args input
    putStrLn $ "mail exited: " ++ show rc
    mapM_ putStrLn $ map ("out: " ++) $ lines out
    mapM_ putStrLn $ map ("err: " ++) $ lines err
票数 12
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1712347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档