Как сделать мой python скрипт менее лагированным? - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок в python, и я только что создал этот скрипт:

import os
import os.path
import time

while True:
    if os.path.isfile('myPathTo/shutdown.svg'):
        os.remove('myPathTo/shutdown.svg')
        time.sleep(1)
        os.system('cd C:\Windows\PSTools & psshutdown -d -t 0')

Как вы можете видеть, этот скрипт очень короткий, и я думаю, что есть способ сделать его менее медленным , На моем P C он использует около 30% моего процессора:

Python Статистика на моем P c

Я не очень знаю, почему он использует так много ресурсов, мне нужна ваша помощь :) Небольшое объяснение программы: я использую IFTTT для отправки файла на моем диске Google, который синхронизируется на моем p c (shutdown.svg), когда Я прошу Google Home закрыть мой p c. Когда Python обнаружит файл, он должен удалить его и закрыть p c. Я добавил время между этими действиями, чтобы скрипт не проверял файл слишком много раз, чтобы уменьшить задержку. Может быть, 1 секунда слишком коротка?

1 Ответ

1 голос
/ 15 апреля 2020

Я добавил время между этими действиями, чтобы скрипт не проверял файл слишком много раз, чтобы уменьшить задержку

Этот l oop спит 1 се c только перед выключением, когда файл найден, то есть он никогда не спит, пока не найдет файл. Итак, выведите sleep(1) из условия if.

Может быть, 1 секунда слишком коротка?

Если вы можете, сделайте это время сна как можно дольше .

Если ваша единственная задача - выключить P C, существует очень много способов сканирования на наличие обновлений, таких как crons, для запуска обычных сценариев или настройки облегченного сервера

...