iPython行延续命令shell字符串文字

时间:2013-06-12 23:48:26

标签: ipython

在iPython中,当使用命令shell命令(感叹号运算符)时,有没有办法对长字符串文字进行行继续?

E.g。

t = !echo "Hello"\
"World"
t

生成['Hello']作为t的值而不是期望的['HelloWorld']。

1 个答案:

答案 0 :(得分:0)

你可以使用“细胞魔法”(基本上是其他魔法的多行版本,如!)。如果在命令提示符下输入%%bash,它将为您提供一个带...的新行,这意味着您应该键入命令。再次按回车键,你会得到另一个...,直到你连续两次输入,然后它运行你的命令。例如,您只需输入以下内容即可。

%%bash --out t
echo "Hello "\
"World"

(并在结尾处输入两次)。它按预期工作。特别要注意--out t,它将标准输出存储在变量t中。如果您现在评估,则获得'Hello World\n'。您还可以使用--err获取标准错误输出,如this page所述。

在ipython笔记本中,您只需将整个内容放在一个单元格中并一起评估。 (如果您还没有尝试过笔记本,我高度推荐它。)