用python实现计时器功能,代码如下:
''' Simple Timing Function.This function prints out a message with the elapsed time from the
previous call. It works with most Python 2.x platforms. The function
uses a simple trick to store a persistent variable (clock) without
using a global variable.
'''
import time
def dur( op=None, clock=[time.time()] ):
if op != None:
duration = time.time() - clock[0]
print '%s finished. Duration %.6f seconds.' % (op, duration)
clock[0] = time.time()
# Example
if __name__ == '__main__':
import array
dur() # Initialise the timing clock
opt1 = array.array('H')
for i in range(1000):
for n in range(1000):
opt1.append(n)
dur('Array from append')
opt2 = array.array('H')
seq = range(1000)
for i in range(1000):
opt2.extend(seq)
dur('Array from list extend')
opt3 = array.array('H')
seq = array.array('H', range(1000))
for i in range(1000):
opt3.extend(seq)
dur('Array from array extend')
# Output:
# Array from append finished. Duration 0.175320 seconds.
# Array from list extend finished. Duration 0.068974 seconds.
# Array from array extend finished. Duration 0.001394 seconds.
>>#加了上面这段while运行时窗体不显示只是后台在截图,这是为什么,要怎么处理?
wx这种GUI框架都是基于事件的。事件包括窗体绘图,窗体刷新,鼠标按钮点击等。这些事件是在 app.MainLoop() 里面进行捕获和处理的。你的程序没有执行到 MainLoop() GUI就不能正常工作。
解决办法:
使用一个单独的进程或线程做截图,不要阻塞主进程。
使用Timer之类的GUI控件,然后定义相应的handler. wx里面有wxTimer.
补充:你的程序已经用到了wx的Timer控件,只要多创建一个Timer用来触发截图动作就可以了。
首先,需要安装好编程环境。比如python的idel。其次,要明确需求,根据实际需求编写代码写出要实现的功能逻辑。
然后,对代码进行调试验证,进行执行。
对脚本进行封装,形成可执行文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)