gpt4 book ai didi

ipython - 如何向 IPython(笔记本)shell 命令提供内联输入?

转载 作者:行者123 更新时间:2023-12-02 19:07:39 27 4
gpt4 key购买 nike

我想将一个 IPython 笔记本与一些 shell 命令及其输入放在一起。在 bash 提示符中,我可以使用“here-document”语法:

bash-3.2$ mysql -u root <<END_IPUT
> use mydb;
> show tables;
> END_INPUT

如何在 IPython 中(特别是在 jupyter 笔记本中)获得相同的效果?我知道如何以 IPython 的方式执行 shell 命令,如“line magics”或“cell” 魔法”,例如:

In [7]:  !! ls -tF
Out[7]: ['Demo-notebook.ipynb',
'createdb.sql',
...

我看过IPython as a system shell ,它展示了如何启用一些语法细节。之后,我可以运行系统命令,而无需预先添加 !!!

# Turn everything in $PATH into an alias; 
# then enable calling aliases without ! or %
%rehashx
%autocall 2

但是这些都无法帮助向这些内联命令提供输入:此处文档语法在 IPython 中无效,并会导致 python SyntaxError。那么我该怎么做呢?

最佳答案

bash 单元格魔法允许您输入多行 bash。只需使用 %%bash 启动任何单元格即可:

%%bash
echo "This is bash"
ls

如果您使用heredoc将文本通过管道传输到另一个程序中,您还可以使用脚本单元魔术:

%%script bc
2+3

可能还有其他细胞魔法可以更具体地解决您的问题!

关于ipython - 如何向 IPython(笔记本)shell 命令提供内联输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253817/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com