我在尝试通过stdin向IPython发送数据时遇到了麻烦,似乎EOF被解释为IPython的退出命令?
的例子:
echo '"hello"' |ipython
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: Out[1]: 'hello'
In [2]: Do you really want to exit ([y]/n)?
在我不做任何其他事情的情况下,进程退出。
是否有需要设置的参数?
编辑:为了使上下文更清楚,我想这样做的真实场景如下:
program1 | ipython -i -c "%run script"
program1将输出一些东西(一个json), ipython将运行一个脚本,将这些东西加载到我可以使用的东西中,然后留给我一个ipython解释器,在那里我可以玩它。
与注释相同。你的问题很不清楚。
也许管道一些python命令到python解释器?
试试这个
$ (echo 'a=123' && cat ) | ipython -i
Python 3.6.9 (default, Mar 15 2022, 13:55:28)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.3 -- An enhanced Interactive Python. Type '?' for help.
In [1]:
In [2]: print(a)
123
这将执行a=123
并使python进入交互模式,接受键盘输入