2016-06-21 3 views
-2

필자는 파싱 및 값 추출이 필요한 데이터 스트림을 보유하고 있으며 해당 값의 목록을 만들고이를 중첩 목록 방식으로 목록에 추가합니다 (예 : mainList [[firstExtractedValue], [SecondExtractedValue] ...]. mainList의 생성은 15 분 단위로 실행되어야하며, 그 후에 mainList를 반복하고 두 번째 목록을 만듭니다. sleep() 또는 threading.Timer를 호출하면 둘 다 지정된 기간 후에 실행되므로 목록이 만들어지지 않습니다. 주어진 시간 동안 (즉, 15 분 동안 목록을 작성해야 함) 실행하는 기능이 필요합니다.x 초 동안 Python 함수를 실행 하시겠습니까?

+0

왜 (더 단순한) 특정 * 번호 *가 아닌 특정 * 시간 *을 원하십니까? – jonrsharpe

+0

실행을 요구하려면 특정 시간 동안 지속되어야합니다. 당신이 원했던 것은 : 15 분 동안이 작업의 실행을 시작하십시오. – Markus

+0

시작 시간을 확인하고 루프를 체크하여 15 분이 경과했는지 확인할 수 있습니다. 날짜 시간 모듈보기 –

답변

2

주기적으로 시간을 확인하고 15 분 후에 종료 할 수 있습니까? 다음과 같이하십시오 :

import datetime 
def func(maxrt): 
    stop = datetime.datetime.now() + maxrt 
    while datetime.datetime.now() < stop: 
     # do stuff 

func(datetime.timedelta(minutes=15)) 
+0

외 Yikes! 어떻게 든 datetime 모듈을 사용하지 못했습니다. 나는 네가 모두 옳다고 생각한다. 나는 파이썬으로 멍청하다. 나는 당신의 방법이 효과가 있다고 믿습니다. 고마워. – namor

+0

걱정할 필요가 없습니다. 너무 집중하기 쉽고 쉬운 것을 놓치기 쉽습니다. – user590028

관련 문제