[英]How can I make my Python script run after 2 hours?
我编写了一个程序,该程序将使用库datetime
和subprocess
在 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.