如何在给定时间后让我的笔记本电脑进入睡眠模式?
How do I put my laptop into sleepmode after a given time?
所以我正在编写这段代码,让我的笔记本电脑在给定的时间后进入睡眠模式。奇怪的是,当程序要执行最后一行代码时,它指出 os
.
处存在语法错误
我试过放置一个简单的打印命令(作为测试),它也以语法错误结束。我已经直接在 os.system()
中尝试了命令并且有效。
我用的python版本是3.7.2.
import time
import sys
import os
counter = 0
for x in sys.argv:
counter+= 1
if counter== 2:
seconds = sys.argv[1]
else:
seconds = sys.argv[2]+60*sys.argv[1]
time.sleep(int(seconds)
os.system('Rundll32.exe Powrprof.dll,SetSuspendState Sleep')
我希望脚本在 x 秒或 x 分钟 y 秒后(取决于参数)让我的电脑进入睡眠模式。
这是我在CMD中输入命令的方式:
python file.py x (y)
是的,我位于正确的文件夹中。
正如@SLaks指出的:
You're missing a )
但是,我在您的代码中看到一些非常奇怪的东西,这就是代码的这一部分:
counter = 0
for x in sys.argv:
counter+= 1
if counter== 2:
seconds = sys.argv[1]
else:
seconds = sys.argv[2]+60*sys.argv[1]
你不需要遍历sys.argv
来找出它的长度,你可以使用len()
!
像这样:
seconds = int(sys.argv[1]) if(len(sys.argv) == 2) else (int(sys.argv[2])+60*int(sys.argv[1]))
所以我正在编写这段代码,让我的笔记本电脑在给定的时间后进入睡眠模式。奇怪的是,当程序要执行最后一行代码时,它指出 os
.
我试过放置一个简单的打印命令(作为测试),它也以语法错误结束。我已经直接在 os.system()
中尝试了命令并且有效。
我用的python版本是3.7.2.
import time
import sys
import os
counter = 0
for x in sys.argv:
counter+= 1
if counter== 2:
seconds = sys.argv[1]
else:
seconds = sys.argv[2]+60*sys.argv[1]
time.sleep(int(seconds)
os.system('Rundll32.exe Powrprof.dll,SetSuspendState Sleep')
我希望脚本在 x 秒或 x 分钟 y 秒后(取决于参数)让我的电脑进入睡眠模式。
这是我在CMD中输入命令的方式:
python file.py x (y)
是的,我位于正确的文件夹中。
正如@SLaks指出的:
You're missing a
)
但是,我在您的代码中看到一些非常奇怪的东西,这就是代码的这一部分:
counter = 0
for x in sys.argv:
counter+= 1
if counter== 2:
seconds = sys.argv[1]
else:
seconds = sys.argv[2]+60*sys.argv[1]
你不需要遍历sys.argv
来找出它的长度,你可以使用len()
!
像这样:
seconds = int(sys.argv[1]) if(len(sys.argv) == 2) else (int(sys.argv[2])+60*int(sys.argv[1]))