繁体   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