直接将 Python 脚本传递给 python -m timeit

0 投票
2 回答
34 浏览
提问于 2025-04-14 15:52

根据timeit的官方文档,我可以通过命令行来计时一些简单的Python代码,方法如下:

python3 -m timeit -n 5 "'-'.join(str(n) for n in range(100))"

我还可以通过运行下面的命令来执行一个名为script.py的Python3脚本:

python3 script.py

因此,我以为我可以这样做:

python3 -m timeit -n 5 script.py

但这并没有成功。

script.py 不是一个模块,所以一些类似的建议:

python3 -m timeit -n 5 -s 'import script(.py)'

也无法使用。

我有点想不出其他办法来实现我的目标,所以我想问:

有没有好的方法可以直接通过命令行使用python3 -m timeit来测量一个Python脚本的运行时间?

另外,我不想做以下事情:

  • 在Linux中使用time命令
  • 在我的Python脚本中导入timeit模块

谢谢大家的建议。

2 个回答

0

试试这个

python3 -m timeit -r 1 -s "import subprocess" "subprocess.run(['python3', 'script_name.py'])"
0

我想到的最简单的方法就是用 os.system("python3 script.py")) 来执行 script.py 这个脚本。所以:

python3 -m timeit -n 5 -s "import os; os.system('python3 script.py')"

撰写回答