Python

管道 /dev/tty 到 ipython 而不會失去格式或製表符完成

  • November 17, 2019

我想在 ipython 會話的開頭插入程式碼,然後以互動方式使用 ipython。

假設我跑步cat <(echo 'import itertools') /dev/tty | ipython。我得到了一個互動式 iPython 控制台,但沒有任何彩色格式或製表符補全。我該如何保留這些東西?

$$ edit $$ 如果有人能解釋為什麼ipython 在我執行上述程式碼時會失去所有這些功能,那就太好了。並解釋如何以不特定於 ipython 的方式恢復這些功能。使用/dev/tty似乎是解決問題的最 Unixy 解決方案。很遺憾它不起作用。

這是一個特定於 ipython 的臨時解決方案。執行ipython -ic 'import itertools'而不是cat <(echo 'import itertools') /dev/tty | ipython.

更大的靈活性

可以使用反引號將來自其他程序的任意輸出通過管道傳輸到 ipython 中````。具體來說,用任何 CLI 程式碼代替 WHATEVER

ipython -ic "`WHATEVER`"

需要額外的雙引號 "" 來阻止終端拆分空格

引用自:https://unix.stackexchange.com/questions/552569