2016-07-22 89 views
0

我有一個Python腳本,它有相當數量的打印語句。 在我的腳本中,有沒有辦法將函數的輸出指定爲less的管道?腳本的管道輸出更少

一個我想做到這一點的方式是通過啓動less作爲子進程,得到它的文件描述符,並改變stdout喂到less子。這是正確的方式,還是有更簡單的方法來做到這一點?

注意,這個問題是出於純粹的懶惰:) - 我不希望有它手動管less,而這個腳本託管多臺機器上,所以我不能alias很容易

+0

您是否在尋找Python實現?否則,是什麼讓你不使用終端/ bash? –

+0

@Krazor我在問一個python實現,因爲我更新了這個問題來反映,我很懶,不想輸入'| |每次少);) – Jeeter

回答

1

好的,所以解決這個問題的一個可能的方法是打印到文件。既然你是在Python 2.7,你將不得不from __future__ import print_function。然後,您可以按照docs的順序將所有輸出路由到別處。之後,您可以將此文件用作subprocess.call()的arg。

+0

是的,這基本上是我在想什麼,除了跳過文件,只是重定向'標準輸出' – Jeeter

+0

我不知道任何其他方式,對不起: –