Sal*_*apa 2 ipython variable-expansion
我不明白${}第四个和第六个提示符在做什么,我找不到任何关于此的文档,这本书Python for Unix and Linux System Administrator有一个类似于第六个提示符中的示例,其中变量不仅是前缀,而且$是也包含在{}以便将字符串嵌入另一个字符串中,如果我引用完整的表达式,它就会起作用,但是 [4 & 6] 中发生了什么?:
In [1]: test = 'TEST TEST TEST!!!'
In [2]: !echo test
test
In [3]: !echo $test
TEST TEST TEST!!!
In [4]: !echo ${test} # Don't understand this one.
TEST TEST!!!
In [5]: !echo {test}
TEST TEST TEST!!!
In [6]: !echo ${test}TEST!!! # Nor this one either.
TEST TEST!!!TEST!!!
In [7]: !echo '${test}TEST!!!'
$TEST TEST TEST!!!TEST!!!
Run Code Online (Sandbox Code Playgroud)
在[4]中,拼写错误,)而不是},否则我会猜测当 dooing 时${test},{test}被消耗到TEST TEST TEST,导致$TEST TEST TEST,然后$TEST再次被消耗(我想是在 shell 中)。
我这么说是因为:
In [1]: test = 'PATH TEST TEST!!!'
In [2]: !echo "${test}"
/usr/local/bin:/usr/local/share/pyt.../.rvm/bin TEST TEST!!!
Run Code Online (Sandbox Code Playgroud)
但你必须小心,IPython 会进行自己的变量扩展,$foo或者{foo}(无美元符号)扩展为foo 的Python值。而Shell经常使用$FOOor ${FOO}(美元AND括号)。
在IPython中,使用时!必须使用双美元$$来表示明确的美元。但不知道如何逃脱括号。
| 归档时间: |
|
| 查看次数: |
733 次 |
| 最近记录: |