如何在 2 小时后制作我的 Python 脚本 运行?
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
这不是安排任务的最佳方式,但应该可行。
我写了一个程序,通过使用库 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
这不是安排任务的最佳方式,但应该可行。