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