#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) снижает внутреннюю загрузку процессора?