写一个能控制按时电脑开关机的代码
时间: 2023-09-04 14:04:11 浏览: 112
### 回答1:
答:import time def startup():
print("正在开机")
time.sleep(2)
print("开机完成") def shutdown():
print("正在关机")
time.sleep(2)
print("关机完成") while True:
current_time = time.localtime()
if current_time.tm_hour == 8 and current_time.tm_min == 0:
startup()
elif current_time.tm_hour == 18 and current_time.tm_min == 0:
shutdown()
time.sleep(60)
### 回答2:
以下是一个能控制按时开关机的简单示例代码:
```python
import datetime
import os
def set_shutdown_time(shutdown_time):
os.system("shutdown -s -t {}".format(shutdown_time))
def set_startup_time(startup_time):
os.system("shutdown -r -t {}".format(startup_time))
def main():
while True:
choice = input("请选择操作(1-设置开机时间,2-设置关机时间,3-退出):")
if choice == "1":
startup_time = input("请输入开机时间(格式:HH:MM):")
now = datetime.datetime.now()
target_time = datetime.datetime.strptime(startup_time, "%H:%M").replace(year=now.year, month=now.month, day=now.day)
time_difference = target_time - now
startup_time = int(time_difference.total_seconds())
set_startup_time(startup_time)
print("已设置开机时间为:{}".format(target_time))
elif choice == "2":
shutdown_time = input("请输入关机时间(格式:HH:MM):")
now = datetime.datetime.now()
target_time = datetime.datetime.strptime(shutdown_time, "%H:%M").replace(year=now.year, month=now.month, day=now.day)
time_difference = target_time - now
shutdown_time = int(time_difference.total_seconds())
set_shutdown_time(shutdown_time)
print("已设置关机时间为:{}".format(target_time))
elif choice == "3":
print("程序已退出。")
break
else:
print("请输入正确的操作序号!")
if __name__ == "__main__":
main()
```
这段代码使用了`os.system()`函数来调用命令行来实现开关机的功能,采用了用户输入的方式来设置开关机时间。用户可以选择设置开机时间或关机时间,然后输入指定的时间即可。程序会将输入的时间与当前时间进行比较,然后计算出时间差,最后通过命令行执行相关的开关机命令。
### 回答3:
要实现按时控制电脑的开关机,可以使用以下代码:
```python
import datetime
import os
def set_shutdown_time(shutdown_time):
current_time = datetime.datetime.now()
if shutdown_time < current_time:
shutdown_time += datetime.timedelta(days=1) # 如果关机时间小于当前时间,则设定为第二天同一时间
time_difference = (shutdown_time - current_time).seconds
os.system(f"shutdown -s -t {time_difference}") # 执行关机命令
def set_restart_time(restart_time):
current_time = datetime.datetime.now()
if restart_time < current_time:
restart_time += datetime.timedelta(days=1) # 如果重启时间小于当前时间,则设定为第二天同一时间
time_difference = (restart_time - current_time).seconds
os.system(f"shutdown -r -t {time_difference}") # 执行重启命令
# 示例:设定每天晚上10点关机,早上9点重启
shutdown_time = datetime.datetime.now().replace(hour=22, minute=0, second=0)
restart_time = datetime.datetime.now().replace(hour=9, minute=0, second=0)
set_shutdown_time(shutdown_time)
set_restart_time(restart_time)
```
上述代码使用`datetime`模块获取当前时间,并根据预定的关机或重启时间计算出时间差,然后使用`os.system`命令执行关机或重启命令。示例中设定每天晚上10点关机,早上9点重启。
请注意,`os.system`命令可能需要管理员权限才能正常执行,且不同操作系统的关机和重启命令可能有所不同,上述代码适用于Windows系统。如需在其他操作系统上运行,可能需要相应修改命令。