命令shell字符串字面值的python行延续



在iPython中,当使用命令shell命令(感叹号操作符)时,是否有方法执行长字符串文字的行延续?

t = !echo "Hello"
"World"
t

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

您可以使用"cell magic"(这基本上是!等其他魔法的多行版本)。如果您在命令提示符中输入%%bash,它将给您一个新的...行,这意味着您应该输入您的命令。再次按enter键,你会得到另一个...,直到你连续两次按enter键,它就会运行你的命令。例如,您可以输入以下命令:

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

(并在末尾按两次enter键)。它像预期的那样工作。特别要注意--out t,它将标准输出存储在变量t中。现在求值,得到'Hello Worldn'。您还可以使用--err获得标准错误输出,如本页所述。

在python笔记本中,你只是把所有的东西放在一个单元格中,然后一起求值。(如果你还没试过这款笔记本,我强烈推荐)

相关内容

最新更新