天天看點

怎樣在windows上定時執行python

作為一個需要在電腦上工作和學習的人,一件十分困擾我的事情就是怎樣不受網際網路中其他内容的幹擾而專注于自己想要做的事情,有的時候真的是沉浸于微網誌上的消息,忘了自己本來想要做的事。不過我有一件神器,自己愛豆的音頻激勵,是以決定寫一個python腳本,讓電腦每小時定時播放,提醒自己專注學習。

讓python播放音頻

python播放音頻實際上很簡單,使用pygame子產品,隻需要四五行的代碼。

1 import pygame, time
2  
3 pygame.mixer.init()
4 track = pygame.mixer.music.load("E:\\Entertainment\\Audios\\by\\study.mp3")
5 pygame.mixer.music.play()
6 time.sleep(10)
7 pygame.mixer.music.stop()           

複制

注意這裡要讓程序sleep一段時間,因為我的音頻本身隻有7秒,是以這裡睡眠10秒就足夠了。

windows定時任務

這是windows自帶的功能,自認為還是比較強大的。

請傳回桌面,在我的電腦上右鍵選擇管理(Manage) -> System Tools -> Task Scheduler,在右側選擇Create Basic Task

這時會彈出一個新的視窗:

  1. 輸入任務名,下一步
  2. 之後會讓你選擇任務的執行周期,這裡選在Daily,然後選擇開始時間,Recur every這裡填寫1天,下一步
  3. 這裡要選擇任務執行的動作,這裡為了執行python腳本,選擇start a program,下一步
  4. 接下來就要選擇執行的程式了,這裡需要特别注意:
    1. Program/script: Browse...這裡選擇pythonw.exe這個程式(後面會說明為什麼不選擇python.exe)。因為我的電腦裡同時安裝了python2和python3,是以我的最終路徑是這樣的C:\Users\YJChan\AppData\Local\Programs\Python\Python36\pythonw.exe 
    2. Add arguments這裡填寫你的腳本路徑:E:\Entertainment\Audios\by\autoplay.py
    3. Start in保持空白即可

任務建立完成,但是這時候還是每天執行一次,我們需要把它修改為每小時執行一次:

在Task Scheduler Library中找到你剛剛添加的任務,輕按兩下,在trigger頁籤中有一個Advancec settings,勾選Repeat task every 這裡選擇1 hour,後面的for duration of選擇1 day,這樣每小時播放就實作了

為什麼要選擇pythonw.exe

好奇的同學可以試一下選擇python.exe,其實原因很簡單,因為我這裡想要在背景播放音頻,而不是每次播放音頻的時候都彈出一個指令行視窗。

這也是pyw和py檔案的差別,pyw格式是用來開發純圖形化界面程式的,是以預設沒有指令行視窗,這裡很好的實作了我想要背景播放音頻的想法。

試驗一下

這時候任務其實已經建立完畢了,不過我很好奇它的實作效果。是以,仍舊是在Task Scheduler Library中,在建立的任務上右鍵,選擇Run,成功,已經可以聽到我想要的音頻了。