wim*_*wim 4 python bash ipython iterable-unpacking
如何在ipython中解压缩shell转义的输出?
示例(作品):
In [1]: !locate .hgrc
/home/wim/.hgrc
/usr/share/doc/mercurial-common/examples/sample.hgrc
In [2]: hgrcs = !locate .hgrc
In [3]: hgrcs[0]
Out[3]: '/home/wim/.hgrc'
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
In [4]: hgrc0, *rest = !locate .hgrc
File "<ipython-input-4-e8900264b4a8>", line 1
hgrc0, *rest = !locate .hgrc
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
也不工作:
In [13]: x = !locate .hgrc | head -1
In [14]: x
Out[14]: ['/home/wim/.hgrc']
In [15]: x, = !locate .hgrc | head -1
File "<ipython-input-15-524d2c9ab16f>", line 1
x, = !locate .hgrc | head -1
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
Python 3.3.2+上的IPython 0.13.2.
Icky,但对于这个特例:
hgrc0, _ = !locate .hgrc | head -1 | printf '%s\n_' $(cat)
Run Code Online (Sandbox Code Playgroud)