Как перевести мой ноутбук в режим сна после определенного времени? - PullRequest
1 голос
/ 11 апреля 2019

Итак, я пишу этот код, чтобы перевести мой ноутбук в спящий режим через определенное время.Странно то, что когда программа хочет выполнить последнюю строку кода, она указывает, что есть синтаксическая ошибка в 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)

Да, я в правильной папкесделать это.

1 Ответ

0 голосов
/ 11 апреля 2019

Как заметил @ 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]))
...