Hon*_*hen 2 python pipe ipython
在ipython中有一个魔术%less可以启用常规shell less命令.所以我们可以使用
less fname
Run Code Online (Sandbox Code Playgroud)
要么
%less fname
Run Code Online (Sandbox Code Playgroud)
看到fname的内容.即使是美妙的事情,我们也可以使用
cat fname | less
Run Code Online (Sandbox Code Playgroud)
要么
%cat fname | less
Run Code Online (Sandbox Code Playgroud)
但不是(!!!) cat fname | %less或%cat fname | %less.
在ipython中也是如此!
遗憾的是,我发现对于非魔术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
Run Code Online (Sandbox Code Playgroud)
有办法解决这个问题吗?
对不起,我没有仔细搜索过,因为已经回答了2个类似的问题.
加:如果有人告诉魔术版的奇怪行为%并non-%存在"|",我将不胜感激.我想这也有答案,但我很难用正确的关键词进行搜索.
In [21]: x = os.environ.keys()
In [22]: %page x
Run Code Online (Sandbox Code Playgroud)
%magic通过在输出中键入并向后搜索字符串"page" 来找到这一点.
当字符串等%less,%page,%cat,或%ls出现在开始的命令,它被视为由IPython的一个魔术功能.请注意,如果您已automagic启用,则无需%为行魔术明确键入; 这就是为什么less行为可能与%less在命令开头输入时的行为相同.
当魔术函数没有出现在命令的开头时,该命令将被传递给Python并像常规Python代码一样处理.
在Python中|是按位或运算符.
%调用__mod__特殊方法.
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |