从python解释器内部创建管道

时间:2012-10-22 12:39:54

标签: python bash python-3.x pipe

有时我只是想快速将大输出重定向到外部程序,假设在Python 3.x中我有

>>> import sys
>>> sys.modules.keys()

我如何重定向

的输出
>>> sys.modules.keys()

到特定的命令或应用程序?

1 个答案:

答案 0 :(得分:4)

如果你经常这样做,那么创建一个基本上是

的辅助模块会很有用
def pipeinto(data, *prog):
    import subprocess
    sp = subprocess.Popen(prog, stdin=subprocess.PIPE)
    sp.stdin.write(str(data))
    sp.stdin.close()
    return sp

可以让你做

pipeinto("\n".join(sys.modules.keys()), "gedit")