import sys
import os
log = os.system('cat /var/log/demesg')
このコードは、シェル スクリプトを実行してファイルを出力しますcat /var/log/dmesg
。ただし、ログにはコピーされません。このデータを別の場所で使用するか、印刷ログのようにデータを印刷したいだけです。
どうすればこれを実装できますか?
自分でファイルから読み取るだけです。
with open('/var/log/dmesg') as logf:
log = logf.read()
print(log)
オプションとして、IPythonを見てください。インタラクティブPythonは、多くの使いやすさのツールをテーブルにもたらします。
ipy$ log = !dmesg
ipy$ type(log)
<3> IPython.utils.text.SList
ipy$ len(log)
<4> 314
システムを呼び出し、stdoutを文字列リストとして変数にキャプチャします。
共同科学のために作られ、汎用のPythonコーディングにも便利です。Webベースのコラボレーティブノートブック(インタラクティブなグラフ作成、Sageノートブックに似ています)は、並列コンピューティングのユビキタスなサポートとともに、すばらしいボーナス機能でもあります。