2012-02-07 7 views
1

私はいくつかのコードをベンチマークするpythonスクリプトを書こうとしています。この問題は、スクリプトがコマンドIDの出力を実行しているときとは違うもので、私はbashプロンプトで直接実行します。ここで pythonスクリプトでtimeコマンドの出力を処理する

は、ここでは、bashプロンプトから time myappを実行すると、あなたが bash's time commandを使用している

real  1.0 
    user  0.8 
    sys   0.0 
+0

は、なぜあなたは 'timeit'を使用していませんか? –

+0

まあ、これは単純なテストではありませんでした。別のものにはあまり正確さが必要ではありませんでした。しかし、それは一つの選択肢です –

答えて

2

上記のコードの出力に含まあるPythonスクリプト

import subprocess 
import re 
import os 
app = os.getcwd() + "/" + "myapp" 
testPopen = subprocess.Popen(args=['/usr/bin/time',app], 
    stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=False) 
testPopen.wait() 

ためのコードです。 (タイプhelp timeを入力するとbashはbashコマンドとして認識します)

pythonスクリプトを実行するときは、(different program)を使用しています。 (その時間を見るためにタイプman timeまたはwhich timeもプログラムでどのように混乱。!)

はbashのtimeコマンドを使用するPythonスクリプトを取得するには:

import shlex 
testPopen = subprocess.Popen(shlex.split('bash -c "time {a}"'.format(a = app)), 
    stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=False) 
out,err = testPopen.communicate() 
print(err) 
関連する問題