我正在Linux中运行不同的Python脚本,我想看看这些脚本有多少时间,我想知道在Bash或Python中是否有命令它不依赖于回显或打印到屏幕上多少运行命令所花费的时间。提前谢谢。
例如,Python脚本可能是:
import subprocess
command = ['sudo', '-S', 'iwlist', 'wlan0', 'scan']
output = subprocess.Popen(command, stdout=subprocess.PIPE).stdout.read()
data = []
for cell_item in output.split("Cell"):
data_item = []
for line in cell_item.split("\n"):
if any(item in line for item in ["ESSID", "Quality", "Pairwise"]):
data_item.append(line.strip())
if data_item:
data.append(data_item)
print data
我想要的是在屏幕上看到一些代码输出的最后一行,我想看到那里; "此代码持续16.363秒"
答案 0 :(得分:3)
只需将time
放在任何其他命令或脚本之前,例如:
time sleep 4
给出
real 0m4.003s
user 0m0.000s
sys 0m0.001s
您也可以更改输出的格式,请参阅man time
。
答案 1 :(得分:2)
我个人使用:
from datetime import datetime
t1 = datetime.now()
bashCommand = "df -h > space.txt"
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
t2 = datetime.now()
total = t2-t1
print total
答案 2 :(得分:1)
因此,根据评论,问题似乎是“我怎么能追溯看我以前的命令花了多长时间?”答案很简单:你做不到。
Python在运行代码时不会自动计时,而import time
所做的就是让您自己访问函数来执行计时。如果你想知道事情需要多长时间,你必须在事实之前明确说出来。代码运行后,我想不出任何可以返回的内容并确定运行多长时间。我相信你将不得不再次做你所有的时间,抱歉说。
答案 3 :(得分:1)
使用bash的特殊变量SECONDS:
SECONDS=0
script.py
echo $SECONDS