Python中变量每秒的日志值
我需要每秒钟或几秒钟打印一个变量的值,同时修改这个变量。因此,我将在我的主函数中修改这个变量,我希望每秒都能打印出它的值。比如:Python中变量每秒的日志值,python,multithreading,logging,Python,Multithreading,Logging,我需要每秒钟或几秒钟打印一个变量的值,同时修改这个变量。因此,我将在我的主函数中修改这个变量,我希望每秒都能打印出它的值。比如: '''This is my main program''' for i in range(very large number): '''do something which modifies the value of 'var' ''' 代码中的其他地方: '''Every second''' print var 我看了一下,但我不确定这是否是我要找的,或者
'''This is my main program'''
for i in range(very large number):
'''do something which modifies the value of 'var' '''
代码中的其他地方:
'''Every second'''
print var
我看了一下,但我不确定这是否是我要找的,或者我应该如何使用它
我需要的是非常简单的,没有其他线程,我不关心同步任何东西,或者在主函数中打印值。基本上,您所指的问题/答案就是您需要的:
import threading import time
interesting = 0
class MonitorThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global interesting
while(1):
print interesting
time.sleep(1)
MonitorThread().start()
for interesting in range(2000000):
time.sleep(1)
基本上,您所指的问题/答案是您需要的:
import threading import time
interesting = 0
class MonitorThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global interesting
while(1):
print interesting
time.sleep(1)
MonitorThread().start()
for interesting in range(2000000):
time.sleep(1)
您可以使用线程每秒打印var 试试这个例子: 导入线程
var = 5
def printit():
global var
threading.Timer(5.0, printit).start()
print "Hello, World!", var
printit()
import time
for i in range(1000000):
time.sleep(2)
var = i
您可以使用线程每秒打印var 试试这个例子: 导入线程
var = 5
def printit():
global var
threading.Timer(5.0, printit).start()
print "Hello, World!", var
printit()
import time
for i in range(1000000):
time.sleep(2)
var = i
如果没有并行化工作的线程(修改变量并打印其值),为什么需要等待1秒才能打印?如果不使用多线程、多处理或异步(如gevent或tornado)方法,则无法执行此类操作。如果没有并行化工作的线程(修改变量并打印其值)为什么需要等待1秒才能打印?如果不使用多线程、多处理或异步(如gevent或tornado)方法,就无法执行这些操作。这两个答案都有效,但这是最简单的。我只需要添加一个标志“done”,这样当其他部分完成时,这个函数就会停止。否则它将永远运行!两个答案都有效,但这是最简单的。我只需要添加一个标志“done”,这样当其他部分完成时,这个函数就会停止。否则它将永远运行!