有没有什么方法可以使用;减去;在ipython中查看python输出

有没有什么方法可以使用;减去;在ipython中查看python输出,python,pipe,ipython,Python,Pipe,Ipython,在ipython中有一个神奇的%less,它启用常规shellless命令。所以我们可以使用 less fname 或 查看fname的内容。更奇妙的是,我们也可以使用 cat fname | less 或 但是不是(!!!)cat fname |%less或%cat fname |%less 在伊皮顿也一样 遗憾的是,我发现对于非魔法python函数,输出似乎无法与管道一起使用。例如,以下各项都不起作用 print(os.environ.keys()) | %less print(os.e

在ipython中有一个神奇的
%less
,它启用常规shell
less
命令。所以我们可以使用

less fname

查看fname的内容。更奇妙的是,我们也可以使用

cat fname | less

但是不是(!!!)
cat fname |%less
%cat fname |%less

在伊皮顿也一样

遗憾的是,我发现对于非魔法python函数,输出似乎无法与管道一起使用。例如,以下各项都不起作用

print(os.environ.keys()) | %less
print(os.environ.keys()) | less
echo os.environ.keys() | %less
echo os.environ.keys() | less
os.environ.keys() | %less
os.environ.keys() | less
有办法解决这个问题吗


抱歉,我没有仔细搜索,因为已经回答了两个类似的问题

另外:如果有人告诉我
%
非-%
魔法版本中存在“|”的奇怪行为,我将不胜感激。 我想这也是答案,但我很难用正确的关键字搜索

In [21]: x = os.environ.keys()
In [22]: %page x
这是通过键入
%magic
并在输出中向后搜索字符串“page”找到的


当像
%less
%page
%cat
%ls
这样的字符串出现在命令开头时,IPython会将其视为一个神奇的函数。请注意,如果启用了
automagic
,则无需为line magic显式键入
%
;这就是为什么在命令开头键入时,
less
的行为可能与
%less
相同

当magic函数没有出现在命令的开头时,该命令将被传递给Python,并被视为常规Python代码

在Python中,
|

%
调用

print(os.environ.keys()) | %less
print(os.environ.keys()) | less
echo os.environ.keys() | %less
echo os.environ.keys() | less
os.environ.keys() | %less
os.environ.keys() | less
In [21]: x = os.environ.keys()
In [22]: %page x