我一直在研究 IPython 及其执行以 !
为前缀的 shell 命令的能力。我遇到了一个问题,可以通过以下示例来说明:
In [1]: filename="mytxtfile.txt"
In [2]: !echo $filename
mytxtfile.txt
In [3]: !echo ${filename}.bak
.txt.bak
In [4]: !echo ${filename}
.txt
我的印象是,将 python 变量的名称包装在 {...}
中可以让我在其中添加一些内容,而中间没有空格。附加本身可以工作,但显然 ${filename}
与 IPython 中的 $filename
不同。
为什么会这样以及如何在 shell 调用期间将某些内容附加到 python 变量的值?
最佳答案
我发现我的错误:保护{...}
前面没有$
。
In [5]: !echo {filename}.bak
mytxtfile.txt.bak
引用:http://ipython.org/ipython-doc/stable/interactive/reference.html#manual-capture-of-command-output
关于IPython:保护 shell 调用中的 {} 括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16872673/