因此,我正在编写此代码,以便在给定的时间后将笔记本电脑置于睡眠模式。奇怪的是,当程序要执行最后一行代码时,它指出os
处存在语法错误。
我尝试放置一个简单的而不是print命令(作为测试),该命令也最终会导致语法错误。我已经在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秒(取决于参数)之后将PC置于睡眠模式。
这是我在CMD中输入命令的方式:
python file.py x (y)
是的,我在正确的文件夹中。
答案 0 :(得分:0)
@SLaks指出:
您缺少
)
但是,我在您的代码中看到了一些很奇怪的东西,这就是代码的这一部分:
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]))