1

我有一個Python(2.7)控制檯應用程序,我已經寫在Windows(8.1)上。在執行程序時,我使用argparse.ArgumentParser()來處理參數。如何啓用滾動Python控制檯應用程序

該應用程序有很多參數,因此當使用--help參數時,文檔大大超出了控制檯窗口的大小。即使在控制檯窗口最大化。這很好,但我遇到的問題是用戶無法向上滾動查看幫助文檔的其餘部分。我已經適當地配置了我的Windows控制檯屬性,例如「窗口大小」和「屏幕緩衝區大小」。我已經驗證了這些更改正在工作,但它們只能在Python環境之外使用。只要我執行Python腳本或對腳本運行--help命令,控制檯屬性就不再適用。滾動條將從窗口中消失,我不能再滾動到頂部以查看以前的內容。

所以基本上,我需要弄清楚如何爲我的Python控制檯程序啓用滾動功能。我需要在執行腳本和查看--help文檔時啓用滾動功能。我不知道該怎麼做。我一直在網上搜索關於這個主題的任何信息,我還沒有發現任何東西,甚至遠程幫助。

在這一點上,我完全卡住了。所以如果有人知道如何滾動工作,我將不勝感激您的幫助。

+0

右鍵單擊Python控制檯窗口的右上角,然後選擇「屬性」,然後在出現的對話框中配置窗口大小和屏幕緩衝區大小,然後再次嘗試「--help」。 – martineau

+0

@martineau感謝您的建議。不幸的是,我已經嘗試了幾次,結果仍然相同。這實際上是我最初爲我的控制檯配置屬性的方式。只要我再次運行'--help'或執行另一個Python相關的命令,滾動條就會消失,我無法滾動。 有沒有機會你有另一個建議? –

+0

@martineau哦,我應該提到,當我更改控制檯屬性時,我嘗試了一個普通控制檯和具有管理員權限的控制檯...但我仍然得到完全相同的結果。如果我再次打開控制檯屬性,設置仍將設置爲我更改的值。所以控制檯設置**是**持久化的,但由於某些原因,它們在執行Python命令時沒有任何影響。 –

回答

0

你不能從你的Python腳本(好吧,這是可能的,但很可能你不想這樣做)。滾動取決於環境(Windows或Linux終端,無所謂)。因此,用戶需要以適合他們的方式進行設置。

在Linux上,你可以使用lessmore
python script.py | less
它會從緩存腳本的輸出,並讓和上下滾動,而不會丟失任何信息的用戶的能力。

+0

感謝您的回覆。是的,我很熟悉如何在Linux中。而且我能夠配置我的Windows控制檯以允許我滾動得很好......但由於某種原因,當我開始執行Python命令和/或腳本時,控制檯配置沒有被應用。我檢查是否屬性設置得到重置或什麼,他們**不是**。所有的財產變化都是一如既往,但我仍然得到同樣的行爲。 其他建議? –

+0

你碰巧知道如何在Python中設置必要的屬性?我明白這可能不是理想的解決方案。但在這一點上,我需要一些東西作爲解決方法,直到我能夠獲得永久的解決方案。 –

相關問題