コマンドを実行して stdout を取得するために、subprocess.popen を使用しています。
プログラム (mplayer) が eol 型\n
と\r
. sは\r
端末制御文字に由来します。\r
したがって、最終的に得られる出力は、 s が無視された非常に長い行が散在する通常の行です。
自分でファイルを開いた場合は、改行タイプを設定できます。ただし、popen から stdout を取得しているため、それを制御することはできません。
私はpython 2.7ソースを見ましたが、TextIOWrapperを使用して両方のeolタイプを尊重できると思います。しかし、私はそれに何を渡す必要があるのか よくわかりません。コンストラクターに何らかのバッファーを渡す必要があることはわかっていますが、既に開いているファイルからバッファーを取得する方法がわかりません。
全体として、両方でreadline()
壊れ、既に開いているファイル/ストリームが与えられたPythonでどのようにすればよいですか?\n
\r