通过管道将 /dev/tty 传输到 ipython,而不会丢失格式或制表符补全

通过管道将 /dev/tty 传输到 ipython,而不会丢失格式或制表符补全

我想将代码插入到 ipython 会话的开头,然后以交互方式使用 ipython。

假设我跑步cat <(echo 'import itertools') /dev/tty | ipython。我得到了一个交互式 iPython 控制台,但没有任何彩色格式或制表符补全。我该如何保留这些东西?

[编辑]

如果有人可以解释那就太好了为什么当我运行上面的代码时,ipython 失去了所有这些功能。并解释如何以非 ipython 特有的方式恢复这些功能。使用/dev/tty似乎是解决该问题的最 Unixy 解决方案。可惜它不起作用。

答案1

这是 ipython 特有的临时解决方案。运行ipython -ic 'import itertools'而不是cat <(echo 'import itertools') /dev/tty | ipython.

更灵活

可以使用反引号将其他程序的任意输出传输到 ipython 中``。具体来说,用任何 CLI 代码替换 WHATEVER 中的任何代码

ipython -ic "`WHATEVER`"

需要额外的双引号 "" 来阻止终端因空格而分裂

相关内容