stdoutでスクリプトによって生成された出力の一部を削除する方法を探しています。私はos.system("ls")
呼び出すスクリプトのこの時点で特定の行までのPythonクリーン出力コンソール
line 1: some text...
line 2: other text...
line 3: and so on...
、これは私が事前に知ることができないんだけど、出力の量と、現在のディレクトリ内のファイルのリストを生成します。私たちは、出力は次のされていると。だから、stdoutが
line 1: some text...
line 2: other text...
line 3: and so on...
line 4: file1
line 5: file 2
...
line n: file n
ように更新されます私はラインにライン3によって標準出力きれいにしたいのnが、私はどのように行うのか分かりません。私はすでに\033[s
をエスケープして(そして、\033[K
エスケープを使って1行ずつ)3行目のカーソル位置を保存しようとしましたが、これは機能しません(私のシステムは\033[s
をサポートしていません)。私はエスケープ\033[<L>;<C>H
を使って3行目に戻ることができますが、最後までテキストを削除する方法(または3行目まで行を削除する方法)を理解できません。 誰かがそれを行う方法を知っていますか? ご迷惑をおかけして申し訳ございません。ありがとう
出力を元に戻そうとしていますか?すなわち、プリントアウトライン1、ライン2、ライン3、次にライン1に戻りプリントアウトする。これはウィンドウでは機能せず、特定の端末だけが実際にこれを行うために特殊文字をサポートしています。ウィンドウ上で\ bを使って同じ行に戻ることができます*しかし、あなたは後ろに行くことはできません。ウィンドウ上の選択肢は画面全体をクリアすることですが、これは通常、実際に端末の出力をクリアするのではなく、\ n文字を出力します。 Windowsは高度な機能にも独自のAPIを提供していますが、クロスプラットフォームではありません。 – snb