2011-11-14 3 views
-1

私はLinuxの出力をより多く取得するためにPythonを使用しています。Linuxその他:印刷できない文字を削除する

< ---その他--->^M ^私はラインをきれいにするためにはPythonを使用するにはどうすればよいM

:ただし、ファイルは文字が含まれていますか?またはもう一度クリーンアップするためにもう一度使用しますか?

+2

あなたは 'more'を使用する必要があるのですか、なぜプログラムで出力をキャプチャしている場合は?出力を 'more'を通してパイプすることなく出力をキャプチャするだけです。 –

+0

これは役立つかもしれませんhttp://stackoverflow.com/questions/92438/stripping-non-printable-characters-from-a-string-in-python –

+0

私がexec'ingしているプログラムは、 'もっと'を使用しています..私は何もしない – user963986

答えて

2

これは動作するとは限りませんが、子プロセスの環境でPAGERcatに設定してください。あなたはsubprocess.callでそれを行うことはできませんが、subprocess.Popenでそれを行うことができます。

childenv = os.environ.copy() 
childenv['PAGER'] = 'cat' 

proc = subprocess.Popen(executable="yourprogram", 
         args=["yourprogram", ...], 
         env=childenv, 
         stdout=subprocess.PIPE, 
         ...) 

# proc.stdout *may* now be free of `more` detritus 
関連する問題