黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Windows通過開機(jī)自啟動(dòng)執(zhí)行bat腳本常駐python腳本

系統(tǒng) 2296 0

Windows通過開機(jī)自啟動(dòng)執(zhí)行bat腳本常駐python腳本


使用schedule實(shí)現(xiàn)python定時(shí)任務(wù)

python中的輕量級(jí)定時(shí)任務(wù)調(diào)度庫:schedule
  1. 安裝: pip install schedule
  2. 使用:
  • 單一任務(wù):
            
              import schedule
import time

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

# 選擇一種定時(shí)間隔
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)

            
          
  • 多任務(wù)

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

            
              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執(zhí)行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

            
          
  • 第一行作用是使批處理后臺(tái)運(yùn)行,即運(yùn)行時(shí)不出現(xiàn)CMD窗口;
  • 第二行作用是不顯示命令;
  • 第三行是絕對(duì)路徑調(diào)用python.exe執(zhí)行指定pyhon腳本

執(zhí)行bat腳本

  1. 將bat腳本放置于啟動(dòng)項(xiàng)路徑,開機(jī)自啟動(dòng):
    Win10路徑Example:
            
              C:\Users\lyuzi\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

            
          
  1. 雙擊運(yùn)行,直接啟動(dòng)。

停止執(zhí)行python

粗暴地直接kill掉python.exe

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


tips:

建議在python腳本中寫log記錄運(yùn)行情況。因?yàn)楹笈_(tái)執(zhí)行bat就不知道怎么看它有沒有跑了。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論