2

我一直在使用 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 变量的值?

4

1 回答 1

2

我发现了我的错误:$在保护的前面没有{...}

In [5]: !echo {filename}.bak
mytxtfile.txt.bak

参考:http: //ipython.org/ipython-doc/stable/interactive/reference.html#manual-capture-of-command-output

于 2013-06-01T12:42:48.970 回答