我想用一些shell命令和它们的输入组合一个IPython笔记本。在bash提示符我可以使用“这里的文档”语法:如何向IPython(notebook)shell命令提供内联输入?
bash-3.2$ mysql -u root <<END_IPUT
> use mydb;
> show tables;
> END_INPUT
我如何在IPython中相同的效果,特别在jupyter笔记本吗?我知道如何为IPython的是“行法术”或“细胞 魔法”,例如:
In [7]: !! ls -tF
Out[7]: ['Demo-notebook.ipynb',
'createdb.sql',
...
我已经看了IPython as a system shell,它展示了如何使一些细微的语法执行shell命令。下面,我可以不预先考虑!
或!!
# Turn everything in $PATH into an alias;
# then enable calling aliases without ! or %
%rehashx
%autocall 2
运行系统命令,但没有这种帮助与提供输入这些命令行内:在这里文档语法是IPython的无效,导致蟒蛇SyntaxError
。那我该怎么做呢?
你是否尝试过bash细胞魔法?用行'%% bash'开始一个单元格,并在其余部分放入bash代码。 –
好的建议,谢谢!我已经找到了'%% sx',它和我想的一样。但'%bash'的文档使我找到了'%% script',这正是我想要的。与此同时,我还发现了一个专门用于'sql'的扩展,它更好地解决了我的即时问题。但如果你想写一个扩展你的建议的答案,我会接受它。 – alexis
@Thomas,在你第三次删除我的标签之前,看看有多少人关注每一个。如果[tag:ipython-notebook]出现这样的问题,请执行该过程以合并标签。 – alexis