2016-06-07 6 views
0

1 시간마다 파이썬 사전을 재설정 할 수 있습니까?1 시간마다 사전을 재설정하는 방법

원래 사전 : 사전이 비어 있어야 1 시간마다 들어

d = {1: 5, 2: 1, 3: 2} 

d = {} 

(또는 새 사전을 작성해야합니다) 그러나 아래의 프로그램은

import time 
d = {} 

d[1] = 5 
d[2] = 1 
d[3] = 2 
i = 1 
while i == 1: 

    current = time.time() 

    end = time.time() 
    diff = end - current 
    if diff == 60: 
     d = {} 
    print d 
작동하지 않습니다
+0

같은 루프 *에서'current'와'end' *를 계산합니다. 그들은 1 초도 채 안되는 것보다 결코 다르지 않을 것입니다. –

+0

루프의 반복마다 'end'와'current'의 차이가 커지기를 기대하는 이유는 무엇입니까? \ – miradulo

+0

프로그램에서 시차를 지속적으로 테스트 할 수 없으므로 처리 시간이 엄청납니다. 스레딩과 수면이 더 좋은 선택입니다. 별도의 스레드를 만들고, 한 시간 동안 잠자기 상태로 만든 다음, 잠에서 깨어 일어나서 딕트를 변경하십시오. –

답변

1
import time, threading 
d = {1: 5, 2: 1, 3: 2} 
def updates_dict(): 
    d = {} 
    print "Updated on",time.ctime() 
    threading.Timer(10*60*60, foo).start() 

updates_dict() 

threading을 사용하여 구현할 수 있습니다.

0
import time 

d = {1: 5, 2: 1, 3: 2} 
start = time.time() 
while True: 
    diff = time.time() - start 
    if not round(diff) % 60: 
     d = {} 
    print d 
+0

생각해 보면, 한 시간 동안 계속 반복됩니다. 스레딩과 수면을 사용하는 것이 더 좋습니다. –

관련 문제