我是第一次尝试python。我在下面写了这个脚本:
# Importing modules
import time
buffersize = 10000
f = open(time.strftime("%M-%S.raw", time.gmtime()),"w")
try:
while True:
start = time.time()
for x in xrange(0,buffersize):
blah = " "
elapsed = time.time() - start
f.write(str(elapsed)+"\r\n")
except KeyboardInterrupt:
f.close()
在运行该脚本后检查原始文件时,我注意到elapsed
变量随着脚本的运行而增加。这是一个值序列示例:
4.79221343994e-05
0.916402101517
0.980934858322
1.05616092682
1.15645098686
1.30846095085
1.54870700836
1.87860512733
2.74350309372
4.1800429821
4.71334385872
5.24211788177
5.8994808197
我希望脚本只生成一个反映几百毫秒,给定或花费100毫秒的值列表,而不是一个升序的值列表。
这是因为文件对象正在将数据存储在内存中,从而随着时间的推移降低了脚本的速度吗?我应该以某种方式刷新内存以减少执行时间?还是我误会了什么?
注意:
我尝试计时for循环的原因是因为在我的另一个脚本中,我实际上将行blah = " "
替换为尝试执行的某些代码
从树莓派上从我的MCP3008芯片中获取值。升值列表不是我期望的。因此,我开始将代码缩减为上面看到的内容,以了解发生了什么。