python - 为什么 Pythonw 文件占用大量 CPU 资源?
问题描述
我写了一个 .pyw 文件并在后台运行它。但是,当我什么都不做时,它会占用 29% 的 CPU。如果我启动任何其他软件,它开始占用 49% - 50% 的 CPU。有什么办法可以降低CPU使用率?
代码:
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()
我希望无限循环将运行并从后台调用该函数。
解决方案
推荐阅读
- python - 在条形图中强制执行 xticks 的连续值
- python - Python - 替换 for 循环中的表达式
- json - 我如何解组这个 JSON
- java - mvn appengine:run 无法执行目标 com.google.cloud.tools:appengine-maven-plugin:2.2.0:run mvn appengine:deploy 工作正常
- xml - Powershell - 获取高级事件日志信息(xml?)
- javascript - 从下拉列表中更改不同的表 (onChange)
- javascript - 在电子中的 app.ready() 之前调用了哪个方法
- sql - oracle中是否有替代时间戳来显示时间?
- python-3.x - Pyspark - 用前一个值和下一个值的平均值填充 nans
- android - 如何通过在android中使用播放和暂停操作一一滚动来在Textview中显示字符串列表