16.9.4 从命令行执行
除了编程接口,timeit还提供了一个命令行接口来测试模块,而不需要自动化测试(instrumentation)。
要运行模块,可以对Python解释器使用-m选项以查找模块,并把它作为主程序。
例如,使用以下命令来获取帮助。
命令行上的statement参数与Timer的参数稍有不同。并不是传入一个长字符串。而是要 将每行指令作为一个单独的命令行参数传递给这个方法。如果需要缩进行(如在一个循环中),则可以用引号包围代码行从而在字符串中嵌入空格。
还可以用更复杂的代码来定义一个函数,然后从命令行调用这个函数。
def test_setitem(range_size=1000):
l = [(str(x),x) for x in range(range_size)]
d = {}
for s,i in l:
d[s] = i
要运行测试,可以传入代码带入模块并运行测试函数。