我想要做的是一样的东西将命令输出到交互式python会话?
$echo $PATH | python --remain-interactive "x = raw_input().split(':')"
>>>
>>> print x
['/usr/local/bin', '/usr/bin', '/bin']
我想IPython的解决方案是最好的。如果这是不可实现的,那么对于我想要处理来自其他各种命令的输出的情况,您将如何解决?当我绝望时,我已经使用子过程来做到这一点,但这并不理想。
UPDATE:所以这是越来越接近最终的结果:
echo $PATH > /tmp/stdout.txt; ipython -i -c 'stdout = open("/tmp/stdout.txt").read()'
现在我们怎么能去约弯曲到这个形式
echo $PATH | pyout
其中pyout
是“神奇的解决方案解决我所有的问题“。它可以是一个shell脚本,用于编写管道输出,然后运行ipython。所做的一切都因为bp说的相同原因而失败。
所以,如果我是在shell命令行,并希望快速,轻松地获得一些输出到一个工作的翻译,你认为这是理想的?简而言之,它不会将shell的stdout重定向到新的交互式会话。这并不理想,因为它首先启动会话,然后运行shell命令。我可能能够得到一个bash函数来写这个临时文件,并让ipython运行它。 – physicsmichael 2010-02-23 09:11:14