2

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

例如

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

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

4

1 回答 1

1

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

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

(最后按两次回车)。它按预期工作。特别要注意--out t,它将标准输出存储在变量 中t。如果你现在评估它,你会得到'Hello World\n'. 您还可以获得标准错误输出--err,如本页所述。

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

于 2013-09-23T20:36:05.073 回答