標準的なPython Consoleウィンドウでは、最後の行を例えばsys.stdout.write('\r'+' '*len(line))
のようにI explained hereとして削除することができます。Pythonでstdoutから行を削除する方法 - SciTe、Idle、Eclipseまたはコンソールで他のエディタで
SciTe、Idle、Eclipse(PyDev)のようなエディタの場合、stdoutはファイルタイプのオブジェクトで、おそらくコンテンツをコンソールウィンドウにフラッシュしてバッファを空にしてしまい、窓の上にそのようなコンソールの最後の行を消去するなど、どのようなトリックを適用できますか?スクリプトが標準のPythonコンソールウィンドウに書き込むエディタの外で実行されている場合、同じ結果を生成する、それを行うための万能な方法はありますか?
編集:チェックタイプ(os.sys.stdout)を示しています
- SciTEの:
<type 'file'>
- アイドル:
<class 'idlelib.rpc.RPCProxy'>
- エクリプス:
<type 'file'>
- Pythonコンソールウィンドウ:
<type 'file'>
標準的なpythonコンソールのstdoutでは、stdout.write('\r')
というのはSciTeとEclipseのコンソールとは異なるため、stdoutのtype
は実装を定義していません。
編集:ちょうどjavaの人々がsimilar problemを持っ見て、報告されたバグのようです...
どうすればいいですか:http://stackoverflow.com/questions/3732928/how-to-remove-lines-from-stdout-in-python#answer-6804439 – flameNugget