在 iPython 中,当使用命令 shell 命令(感叹号运算符)时,有没有办法对长字符串文字进行续行?
例如
t = !echo "Hello"\
"World"
t
生成 ['Hello'] 作为 t 的值,而不是预期的 ['HelloWorld']。
在 iPython 中,当使用命令 shell 命令(感叹号运算符)时,有没有办法对长字符串文字进行续行?
例如
t = !echo "Hello"\
"World"
t
生成 ['Hello'] 作为 t 的值,而不是预期的 ['HelloWorld']。
您可以使用“细胞魔法”(基本上是其他魔法的多行版本,例如!
)。如果您%%bash
在命令提示符下输入,它将为您提供一个带有 的新行...
,这意味着您应该键入您的命令。再次按 enter ,你会得到另一个...
,直到你连续两次按 enter ,它就会运行你的命令。例如,您可以只键入以下内容。
%%bash --out t
echo "Hello "\
"World"
(最后按两次回车)。它按预期工作。特别要注意--out t
,它将标准输出存储在变量 中t
。如果你现在评估它,你会得到'Hello World\n'
. 您还可以获得标准错误输出--err
,如本页所述。
在 ipython 笔记本中,您只需将整个内容放在一个单元格中并一起评估。(如果您还没有尝试过笔记本,我强烈推荐它。)