Python3을 통해 작업의 타임 루프 실행 구현
실제 개발에서는 종종 다음과 같은 요구 사항이 있습니다. 특정 기능 모듈이나 작업이 동일한 기간 내에 주기적으로 실행되어야 합니다. 여기에는 타이머라는 개념이 있습니다. 구체적으로 타이머를 어떻게 구현해야 할까요? 타이머에는 스레드 실행을 제어하고 시스템 소비를 줄이는 등 매우 실용적인 기능이 많이 있습니다. 이제 Python3에서 타이밍 함수 구현을 연습해 보겠습니다.
예를 들어 Python을 사용하여 크롤러 시스템을 개발할 때 스레드 서비스를 구현하여 백그라운드에서 데이터 캡처 상태를 모니터링하려면 타이머가 도움이 될 수 있습니다. .
[동영상 추천: Python3 동영상 튜토리얼]
[수동 권장사항: Python 중국어 매뉴얼]
Python 문서를 통해 타이밍 기능을 구현하는 threading.Timer()를 찾을 수 있습니다:
간단한 구현 코드:
import threading def func1(a): #Do something print('Do something') a+=1 print(a) print('当前线程数为{}'.format(threading.activeCount())) if a>5: return t=threading.Timer(5,func1,(a,)) t.start()
렌더링:
파이썬을 사용하여 세 가지 타이밍 작업 실행 방법을 구현할 수 있습니다.
1 타이밍 작업 코드
#!/user/bin/env python #定时执行任务命令 import time,os,sched schedule = sched.scheduler(time.time,time.sleep) def perform_command(cmd,inc): os.system(cmd) print('task') def timming_exe(cmd,inc=60): schedule.enter(inc,0,perform_command,(cmd,inc)) schedule.run() print('show time after 2 seconds:') timming_exe('echo %time%',2)
2. 주기적 작업 실행
#!/user/bin/env python import time,os,sched schedule = sched.scheduler(time.time,time.sleep) def perform_command(cmd,inc): #在inc秒后再次运行自己,即周期运行 schedule.enter(inc, 0, perform_command, (cmd, inc)) os.system(cmd) def timming_exe(cmd,inc=60): schedule.enter(inc,0,perform_command,(cmd,inc)) schedule.run()#持续运行,直到计划时间队列变成空为止 print('show time after 2 seconds:') timming_exe('echo %time%',2)
3. 명령어 실행
#!/user/bin/env python import time,os def re_exe(cmd,inc = 60): while True: os.system(cmd) time.sleep(inc) re_exe("echo %time%",5)
요약: Python에서 타이머를 구현하는 방법은 스케줄 및 스레딩 구현이며 구체적인 사용법은 실제 상황에 따라 유연하게 사용해야 합니다.
가장 일반적으로 사용되는 두 가지 모듈: 스레딩, Sched
threading 모듈 사용법:
import threading ,time from time import sleep, ctime class Timer(threading.Thread): """ very simple but useless timer. """ def __init__(self, seconds): self.runTime = seconds threading.Thread.__init__(self) def run(self): time.sleep(self.runTime) print ("Buzzzz!! Time's up!") class CountDownTimer(Timer): """ a timer that can counts down the seconds. """ def run(self): counter = self.runTime for sec in range(self.runTime): print (counter) time.sleep(1.0) counter -= 1 print ("Done") class CountDownExec(CountDownTimer): """ a timer that execute an action at the end of the timer run. """ def __init__(self, seconds, action, args=[]): self.args = args self.action = action CountDownTimer.__init__(self, seconds) def run(self): CountDownTimer.run(self) self.action(self.args) def myAction(args=[]): print ("Performing my action with args:") print (args) if __name__ == "__main__": t = CountDownExec(3, myAction, ["hello", "world"]) t.start() print("2333")
Sched 모듈 사용법:
''' 使用sched模块实现的timer,sched模块不是循环的,一次调度被执行后就Over了,如果想再执行, 可以使用while循环的方式不停的调用该方法 ''' import time, sched #被调度触发的函数 def event_func(msg): print("Current Time:", time.strftime("%y-%m-%d %H:%M:%S"), 'msg:', msg) def run_function(): #初始化sched模块的scheduler类 s = sched.scheduler(time.time, time.sleep) #设置一个调度,因为time.sleep()的时间是一秒,所以timer的间隔时间就是sleep的时间,加上enter的第一个参数 s.enter(0, 2, event_func, ("Timer event.",)) s.run() def timer1(): while True: #sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,可以使用while循环的方式不停的调用该方法 time.sleep(1) run_function() if __name__ == "__main__": timer1()
위 내용은 Python3을 통해 작업의 타임 루프 실행 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











오늘은 golang time 패키지의 시간 적용 방법을 주로 살펴보겠습니다. 둘 사이의 일반적인 규칙은 "벽 시간"이 시간을 알려주는 데 사용되고 "단조 시계"가 시간을 측정하는 데 사용된다는 것입니다. 다른 시계 처리 방법이 있습니다.

1. 개요 이 기사의 일부로 기존 Date 및 CalendarAPI의 몇 가지 문제부터 시작하여 새로운 Java8Date 및 TimeAPI가 이러한 문제를 어떻게 해결하는지 살펴보겠습니다. 또한 LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Period, Duration 및 해당 API와 같은 Java8 시간 클래스 라이브러리의 핵심 클래스를 살펴보겠습니다. 2. 이전 API(Java 8 이전)의 스레드 안전성 문제 - 날짜 및 달력 클래스는 스레드로부터 안전하지 않으므로 개발자가 이러한 API의 동시성 문제를 디버그하기 어렵고 이를 처리하기 위해 추가 코드를 작성해야 합니다. .

1. Python에서 시간을 표현하는 두 가지 방법: 타임스탬프: 1970.1.100:00:00을 기준으로 한 초 단위 오프셋, 고유 시간 튜플 struct_time: 총 9개 요소>tm_year: 1-12년> tm_mon: 1-12월> tm_mday: 일 1-31>tm_hour: 시 0-23>tm_min: 분 0-59>tm_sec: 초 0-59>tm_wday: 주 0-6(0은 일요일을 의미)>tm_day: 일 1-366> tm_isdst: 일광 절약 시간인지 여부, 기본값은 -1.ti입니다.

Pythontime 모듈 시간 획득 및 변환 Python의 Time 라이브러리는 현재 날짜 및 시간에 액세스하고, 시간을 다른 형식으로 출력하고, 지정된 시간을 기다리는 등 시간 관련 처리를 수행할 수 있습니다. 1. 시간 가져오기 1.1. 타임스탬프 importtimetimestamp=time.time()#1682737552.5009851 그리니치 표준시(GMT) 1970년 1월 1일 00:00:00부터 현재까지의 총 시간 1.2. 현지시간()#time.struct_time(tm_year=2

Python 3.x에서 스레드를 생성하고 관리하기 위해 스레딩 모듈을 사용하는 방법 소개: 컴퓨터의 강력한 성능으로 인해 멀티스레딩은 병렬 처리의 일반적인 방법이 되었습니다. Python의 표준 라이브러리에는 스레딩이라는 편리한 모듈이 있습니다. 이 기사에서는 Python3.x의 스레딩 모듈을 사용하여 스레드를 생성 및 관리하고 코드 예제를 사용하여 설명하는 방법을 소개합니다. 1. 쓰레드란 무엇인가? 스레드는 단일 프로세스 내에서 실행되는 독립적인 프로세스입니다.

설치 단계: 1. Python3이 설치되어 있고 명령줄을 통해 액세스할 수 있는지 확인합니다. 2. 터미널을 열고 "python3 -m verifypip --upgrade" 명령을 입력하여 pip 설치 패키지를 다운로드합니다. 4. 다운로드한 pip 설치 패키지를 디렉터리에 추출합니다. 5. 터미널을 열고 압축이 풀린 pip 디렉터리로 이동합니다. 6. "python3 setup.py install" 명령을 실행하여 pip를 설치합니다.

현재 UNIX 타임스탬프를 반환하려면 PHP 함수 "time"을 사용하십시오. UNIX 타임스탬프는 1970년 1월 1일 0:00:00(UTC) 이후의 총 초 수를 나타냅니다. PHP에서는 내장 함수 "time"을 사용하여 현재 UNIX 타임스탬프를 가져올 수 있습니다. 이 문서에서는 이 함수를 사용하는 방법을 설명하고 해당 코드 예제를 제공합니다. 코드 예: <?php$timestamp=time();echo" 현재

Java는 애플리케이션을 빠르게 개발하는 데 도움이 되는 풍부한 API 라이브러리를 갖춘 강력한 프로그래밍 언어입니다. JavaAPI 개발에서는 스레드 관리를 위해 스레딩을 사용하는 것이 불가피합니다. 스레드 관리는 Java 애플리케이션의 핵심 문제이기 때문입니다. 이 기사에서는 스레드 관리를 위해 스레딩을 사용하는 방법을 소개합니다. 1. JavaAPI의 스레딩이란 무엇입니까? 먼저 스레딩이 무엇인지 이해하세요. 자바에서
