Почему файл Pythonw требует больших ресурсов процессора?

#python #pythonw

#python #pythonw

Вопрос:

Я пишу файл .pyw и запускаю его в фоновом режиме. Но, когда я ничего не делаю, это занимает 29% процессора. Если я запускаю любое другое программное обеспечение, оно начинает занимать 49% -50% процессора. Есть ли какой-нибудь способ уменьшить загрузку процессора?

Код:

 def check():
    time = str(datetime.datetime.now())
    time = time[11:13]   time[14:16]
    today = str(datetime.datetime.today())
    today = today[:4]   today[5:7]   today[8:10]
    
    file = open("alarms\Today\today.txt", "r")
    alarms = file.readlines()
    file.close()
    
    ID = ""
    hasAlarm = False
    i = 0
    while i < len(alarms):
        if time in alarms[i]:
            hasAlarm = True
            ID = alarms[i 1]
            break
        i  = 2
    
    if hasAlarm:
        file = open("alarms\ID\alarmID.txt", "r")
        alarms = file.readlines()
        file.close()
        i = 0
        while i < len(alarms):
            if ID in alarms[i]:
                break
            i  = 6
        name = alarms[i 1][:-1]
        showtime = change24to12(alarms[i 2][:-1])
        if os.path.exists(alarms[i 5][:-1]):
            ringtone = alarms[i 5][:-1]
        else:
            ringtone = "basic.mp3"
        
        app = QApplication(sys.argv)
        window = AlarmWindow(name, showtime, ringtone)

        file = open("alarms\Today\today.txt", "r")
        alarms = file.readlines()
        file.close()
        file = open("alarms\Today\today.txt", "w")
        file.writelines(alarms[2:])
        file.close()
        
        file = open("alarms\Special Days\"   today   ".txt", "r")
        alarms = file.readlines()
        file.close()
        i = 0
        flag = False
        while i < len(alarms):
            if time in alarms[i]:
                flag = True
                break
            i  = 2
        if flag:
            file = open("alarms\Special Days\"   today   ".txt", "w")
            file.writelines(alarms[:i]   alarms[i 2:])
            file.close()

        notification.notify(title=name, message=showtime)

        app.exec()
while True:
    check()
  

Я хочу, чтобы бесконечный цикл выполнялся и вызывал функцию из фона.

Комментарии:

1. Мы не сможем вам помочь, если вы не предоставите пример кода

2. @Kolay. Готово! Теперь вы можете мне помочь, пожалуйста?

3. Помимо того, что мои глаза сейчас кровоточат, вы выполняете свой код как можно быстрее снова и снова. Самое простое решение — остановить его на секунду: docs.python.org/3/library/time.html#time.sleep — Для открытия файлов используйте with : docs.python.org/3/tutorial / … — Поскольку вы создаете целое QtApp для уведомления, вы могли бы просто выполнить все в QtApp и использовать таймеры Qt.

4. @user136036 ха-ха-ха! 😛 Но не могли бы вы пояснить, как использование with вместо обычного file open может сэкономить время?

5. @user136036 и как time.sleep(1) снижает внутреннюю загрузку процессора?