PythonのScheduleライブラリを使ってcronのように一定間隔で処理する方法
Pythonにはcronのように処理を一定間隔で実行してくれるScheduleライブラリというものがあります。
Linux環境ならcronがありますが、それがないWindows環境でも類似機能が使えて便利です。
[ad#top-1]
Scheduleライブラリはインストール必要
ScheduleライブラリはAnacondaにも同梱されていないのでpipが必要になります。
pipコマンドでインストールしましょう。
pip install schedule
毎秒ごとに処理する例
以下は1秒ごとにjob()
関数を実行させるプログラムです。
import schedule import time def job(): t = time.strptime(time.ctime()) print(time.strftime("%Y/%m/%d %H:%M:%S", t)) #1/60分=1秒毎にjobを実行 schedule.every(1/60).minutes.do(job) while True: schedule.run_pending() time.sleep(1)
schedule.every(1/60).minutes.do(job)
で、1/60分つまり1秒間隔でjob関数を呼び出します。秒単位のメソッドがないので1/60分とすることで秒単位の呼び出しができます。
結果はご覧の通り1秒ごとに出力されています。
時間単位から曜日単位、時刻指定も可
以下に示すようにいろいろなインターバルを設けることができます。
schedule.every(1).minutes.do(job) #分単位 schedule.every().hour.do(job) #時間単位 schedule.every().day.at("9:20").do(job) #時刻単位 schedule.every().monday.do(job) #毎月曜日に schedule.every().wednesday.at("9:20").do(job) #水曜日の9:29に
[ad#ad-1]
スポンサーリンク