2

所以我开始在我的 Mac 上使用 IPython。这 !!应该执行 shell 命令并将输出作为有用数据的运算符正在生成语法错误。它似乎只是将其解释为(!(!ls)),并吐出!ls:找不到命令。我不能谷歌感叹号,我不知道还能去哪里

4

2 回答 2

5

我认为您可能只需要一个感叹号[docs],至少如果您想对输出做任何事情。例如:

localhost-2:tmp $ ipython
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
Type "copyright", "credits" or "license" for more information.

IPython 0.12 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: !ls
a.txt

In [2]: z = !ls

In [3]: z
Out[3]: ['a.txt']

In [4]: !!ls
Out[4]: ['a.txt']

但是(这是我假设你看到的)

In [10]: z = !!ls

In [11]: z
Out[11]: ['/bin/sh: !ls: command not found']

您可以键入%sx?以获取有关!!ls实际操作的更多信息。

于 2012-08-22T04:30:26.930 回答
2

!!快捷方式是%sx ls魔术命令的别名。这是最近引入的,因此您的版本可能没有该功能。

于 2012-08-22T05:15:39.883 回答