2015-08-28 77 views
0

我正在寫一個腳本,該腳本在終端中運行,並顯示(長)多行字符串。我的問題是,打印字符串時,終端會自動將光標放在字符串的末尾。Python - 在終端打印長字符串,但留在字符串的開頭

該字符串比終端中的行數多,我只能看到我的字符串的最後72行(我的終端窗口有72行),所以它強制每次都向上滾動到字符串的開頭我運行該腳本,結果很煩人。

有沒有辦法一旦打印就返回到字符串的開頭?

字符串的結束,光標是在底部:字符串的 End of string - the cursor is at the bottom

初期,〜高於200行,其中我想是腳本之後運行: Beginning of string - where I want to be

我認爲使用curses,但這似乎是矯枉過正我正在尋找。

此外,我在Mac OS和我並不特別在意便攜性

+0

你有問題嗎? –

+1

我只是將輸出重定向到一個文件,並在閒暇時檢查該文件。無論如何,填滿整個終端的龐大輸出線可能不適合快速檢查。 – Evert

+0

不要打印所有行;或者將管道連接到「less」之類的尋呼機(如果您希望其他人使用它,則更便於攜帶「$ {PAGER-less}」)。 – tripleee

回答

1

雖然curses是便攜式解決方案,嘗試打印序列ESC[H。它可能適用於您關心的所有終端。

print "\033[H" 

參考:

  • ​​3210
+0

我添加了'print'\ 033 [H'',但它將光標放在終端窗口的頂部,而不是字符串的開頭。 – ursan

+0

我想這就是你要求的「在終端輸出的頂部」。你能詳細說明你的問題嗎? –

+0

在Windows上不適用於我。 – cdonts