繁体   English   中英

如何测量 Python 中 shell 脚本的执行时间?

[英]How to measure execution time in a shell script in Python?

我创建了这个 sh 脚本并想测量花在程序上的时间:

#!/bin/bash

start=`date +%s`

cd nlu/creator
python3 move_file.py  ../../../../../base_data/   ../../resources/kb/

python3 converter.py
python3 transformer.py

cd  ../../resources/kb/
find . -name '*.xml' | xargs  -I{} rm -rf {}
find . -name '*Object.txt' | xargs  -I{} rm -rf {}

end =`date +%s`
runtime=$((end-start))

echo "Building time: ${runtime}"

我执行:

nlu/creator/builder.sh

错误信息是:

nlu/creator/builder.sh: line 15: end: command not found
Building time: -1651032434

为什么它会抱怨“end:command not found”?

另外,为什么时间是负数? 我在 Mac 上。

它为什么抱怨?

这是一般的 shell 脚本语法:

通常, PXY使用两个 arguments XY运行命令P 类似地, end = something使用两个 arguments =something运行命令end

例如,分配由VAR=VALUE完成

end=something

如果有一天你需要执行一个名为end=something的命令(即不把它当作赋值,你仍然可以通过写

'end=something'

顺便说一句:如果您只对了解时间感兴趣并且对时间打印的特定格式不挑剔,您还可以从脚本中完全删除计时计算,并使用内置time运行脚本:

time nlu/creator/builder.sh

试一试!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM