import time
number = 1
while number > 0:
print "Testing"
time.sleep(5) #print every 5 seconds
这只是一个示例循环。我是半初学者,我不知道如何制作按键(任何键都可以)显示程序运行了多长时间。该程序将在Windows 7和Linux上运行。
非常感谢。
答案 0 :(得分:2)
欢迎使用Stack Overflow和Python!你会喜欢这里。
首先,我将向您展示如何打印代码运行的时间。 time
模块包含time()
函数,该函数将当前时间作为Unix时间戳(1970年1月1日以来的秒数)获取。如果在函数开头将其分配给变量,则可以在每次循环时调用它,并从当前时间中减去它以获得运行时。和我一起到目前为止?
(您也可以删除number
变量和number > 0
支票,然后将其替换为True
。)
import time
start_time = time.time()
while True:
print "I've been running for %d seconds!" % (time.time() - start_time)
time.sleep(5) #print every 5 seconds
但是你问过每次用户按键时如何获取它。如果你只想要'输入',你可以这样做:
import time
start_time = time.time()
while True:
print "I've been running for %d seconds!" % (time.time() - start_time)
raw_input("Press Enter...")
raw_input()
函数将等待用户按Enter键,然后打印出运行时。
答案 1 :(得分:0)
一次出现一个问题。
依次尝试每个问题,然后询问您是否需要帮助。
答案 2 :(得分:0)
这么简单的问题有很多复杂性和方法。
如果您正在查找当前正在运行的进程的运行时间,请使用操作系统通过子进程模块查询该进程以运行命令行操作,例如'ps | grep“foo”'
通常程序一次只做一件事。例如,代码可以工作或查找按键。如果您需要运行必须同时运行两个不同的代码段,则将代码段生成(运行)为单独的线程。对于你的问题,你可以产生两个线程(代码片段),一个用于工作,一个用于查询时间。
使用python中的线程模块来包装worker函数并创建一个查询线程。但是,当工作线程完成时,您还希望查询线程也终止。一种方法是将其定义为守护程序线程。守护程序线程在它们是唯一活着的线程时终止。
例如:
from time import sleep
import datetime
import threading
def do_someting():
MAX_RUN_TIME = 300 #Seconds
for i in xrange(MAX_RUN_TIME):
print i,
sleep (1)
class worker_thread(threading.Thread):
def run(self):
do_someting()
class keypress_daemon_thread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self) # Initialize the parent class
self.daemon = True # Terminates if only daemon threads are left
def run(self):
startTime = datetime.datetime.now()
while True:
raw_input()
timeDelta = datetime.datetime.now() - startTime
print 'Up for', timeDelta
if __name__ == '__main__':
workerThread = worker_thread()
keyPressThread = keypress_daemon_thread()
workerThread.start()
keyPressThread.start()
workerThread.join()