1

我正在编写一个计数分钟和秒的计时器,我希望计时器能够在您按下回车时暂停 - 但是,我正在使用 while 循环使计时器实际计数,并添加一个 raw_input/input会停止循环......我如何让这两个函数动态运行 - 一起但分开?

到目前为止我的代码:

from datetime import datetime
import math
#import subprocess
import sys
import time
import os

sys.stdout.write("\x1b[8;{rows};{cols}t".format(rows=24, cols=60))

t1 = 0
t3 = 0

def space():
    print(" ")
    print(" ")
    print(" ")
    print(" ")
    print(" ")
    print(" ")
    print(" ")
    print(" ")
    print(" ")
    print(" ")

while t1 != 1.1:

    os.system('clear')

    t2 = str(t1)
    t4 = str(t3)

    space()

    print('*')*60
    print "James Balazs' Python Timer".center(60,"-")
    print ("Passed time: " + t4 + " minutes and " + t2 + " seconds").center(60, " ")
    print('*')*60

    t1 = t1 + 1
    time.sleep(1)
    if t1 == 60:
        t1 = 0
        t3 = t3 + 1

一些不必要的导入是因为我使用的是我制作的时钟的修改副本......所以只要我不必破坏我的大部分工作来实现这一切,所有的帮助都会非常感激。

4

1 回答 1

0

使用计时器创建一个函数,并threading在请求输入时使用它来运行它。然后在用户按下回车键时将其杀死。

import threading
def timer():
    #Timer goes here
Thread(target = timer).start()
raw_input("Press enter to stop")
#Kill the thread

另请参阅http://mail.python.org/pipermail/python-list/2004-May/281943.html关于杀戮。

于 2013-04-23T21:26:46.847 回答