日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Windows通過開機自啟動執行bat腳本常駐python腳本

系統 2118 0

Windows通過開機自啟動執行bat腳本常駐python腳本


使用schedule實現python定時任務

python中的輕量級定時任務調度庫:schedule
  1. 安裝: pip install schedule
  2. 使用:
  • 單一任務:
            
              import schedule
import time

# 定義要執行的任務
def job():
    print("I'm working...")

# 選擇一種定時間隔
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).days.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
 
while True:
    schedule.run_pending()
    time.sleep(1)

            
          
  • 多任務

如果是多個任務運行的話,實際上它們是按照順序從上往下挨個執行的。如果上面的任務比較復雜,會影響到下面任務的運行時間。
解決方法:用多線程/多進程。開了一條線程,就把job獨立出去運行了,不會占主進程的cpu時間,schedule并沒有花掉執行一個任務的時間,它的開銷只是開啟一條線程的時間。

            
              import datetime
import schedule
import threading
import time
 
def job1():
    print("I'm working for job1")
    time.sleep(2)
    print("job1:", datetime.datetime.now())
 
def job2():
    print("I'm working for job2")
    time.sleep(2)
    print("job2:", datetime.datetime.now())
 
def job1_task():
    threading.Thread(target=job1).start()
 
def job2_task():
    threading.Thread(target=job2).start()
 
def run():
    schedule.every(10).seconds.do(job1_task)
    schedule.every(10).seconds.do(job2_task)
 
    while True:
        schedule.run_pending()
        time.sleep(1)

            
          

編寫bat執行python腳本

編寫bat腳本(xxx.bat)

Example:

            
              if not "%1"=="wkdxz" mshta vbscript:createobject("wscript.shell").run("""%~f0"" wkdxz",vbhide)(window.close)&&exit
@echo off
D:\software\Anaconda3\envs\Delivery\python -i D:\test\test.py

            
          
  • 第一行作用是使批處理后臺運行,即運行時不出現CMD窗口;
  • 第二行作用是不顯示命令;
  • 第三行是絕對路徑調用python.exe執行指定pyhon腳本

執行bat腳本

  1. 將bat腳本放置于啟動項路徑,開機自啟動:
    Win10路徑Example:
            
              C:\Users\lyuzi\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

            
          
  1. 雙擊運行,直接啟動。

停止執行python

粗暴地直接kill掉python.exe

cmd: taskkill -f -t -im python.exe


tips:

建議在python腳本中寫log記錄運行情況。因為后臺執行bat就不知道怎么看它有沒有跑了。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 疏附县| 上栗县| 陕西省| 桂东县| 藁城市| 蒲城县| 民权县| 凉山| 泽州县| 石台县| 砚山县| 乐昌市| 武汉市| 木兰县| 木里| 莱芜市| 运城市| 黄石市| 内江市| 平阳县| 米易县| 包头市| 松溪县| 惠水县| 鄂尔多斯市| 舒城县| 韶山市| 昭苏县| 泰兴市| 绩溪县| 临海市| 新蔡县| 稻城县| 屏山县| 札达县| 连州市| 淅川县| 辽中县| 定安县| 临安市| 汽车|