我想從Python腳本運行'time'unix命令,以執行非Python應用程序的執行。我會使用os.system方法。 有什麼方法可以在Python中保存這個輸出嗎?我的目標是多次運行應用程序,保存執行時間,然後對它們進行統計。Python運行命令行(時間)
謝謝
我想從Python腳本運行'time'unix命令,以執行非Python應用程序的執行。我會使用os.system方法。 有什麼方法可以在Python中保存這個輸出嗎?我的目標是多次運行應用程序,保存執行時間,然後對它們進行統計。Python運行命令行(時間)
謝謝
你真的應該使用subprocess module運行外部命令。使用Popen()方法,您可以指定stdout應該轉到的文件對象(請注意,您可以使用任何類似文件的Python對象,您不一定需要將其寫入文件)。
例如:
import subprocess
log_file = open('/path/to/file', 'a')
return_code = subprocess.Popen(['/usr/bin/foo', 'arg1', 'arg2'], stdout=log_file).wait()
可以使用timeit module到時間代碼片段(比方說,一個啓動使用如在上面的答案描述子模塊的外部命令的功能)和數據保存到一個csv文件。您可以使用stats模塊或使用Excel/LogParser/R等外部數據統計csv數據。
另一種方法是使用hotshot分析器進行分析並返回可以使用print_stats打印的統計信息( )方法或迭代保存到文件。