簡體   English   中英

如何讓我的 Python 腳本在 2 小時后運行?

[英]How can I make my Python script run after 2 hours?

我編寫了一個程序,該程序將使用庫datetimesubprocess在 Windows 中使用 BitLocker 關閉硬盤驅動器,但我無法獲得正確的結果。


這是我的代碼:

import subprocess
import datetime

now = datetime.datetime.today()
delta = datetime.timedelta(hours=2)
time_delta = now + delta
# print(time_delta)
# print(now)
try:
    if now == time_delta:
        close = subprocess.check_output(['manage-bde', '-lock', 'D:', '-ForceDismount'])
        close.decode('utf-8').split('\n')
        print('done')
except Exception:
    pass

那是因為您正在檢查當前時間now = datetime.datetime.today() ,然后在檢查后立即添加 2 小時,如果time_delta等於now

因此 if 語句總是導致 false 並且其中的代碼不會被執行。

您需要放置一些東西以等待。 類似的東西。

import subprocess
import datetime
import time
now = datetime.datetime.today()
delta = datetime.timedelta(hours=2)
time_delta = now + delta

while now != time_delta: 
    time.sleep(1) # wait for a second
    now = datetime.datetime.today()
# when now == time_delta we continue here:
try:
    close = subprocess.check_output(['manage-bde', '-lock', 'D:', '-ForceDismount'])
    close.decode('utf-8').split('\n')
    print('done')
except Exception:
    pass

這不是安排任務的最佳方式,但它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM