Python While-цикл зависает через некоторое время, продолжается при нажатии (Enter)?

#python #powershell #while-loop

Вопрос:

Я написал скрипт на python и преобразовал его в исполняемый файл python, который каждую секунду печатает имя приложения и время. Также добавьте одну функцию расписания, которая выполняется каждые 30 секунд.

Он работал довольно хорошо через час, когда я проверил еще раз, скрипт python был приостановлен (или завис). Когда я нажал [Enter], он снова начал выполняться, как обычно. Сценарий отлично работал в течение 1 часа. В чем причина паузы?

Мой Код

     from win32gui import GetForegroundWindow
    import psutil
    import time, os, datetime, requests, json, schedule
    import win32process
    import csv
    import getpass

data = {}
process_time = {}
timestamp = {}

data['User'] = getpass.getuser()
data['Date'] = datetime.datetime.now().strftime("%d/%m/%Y")
data['Time'] = datetime.datetime.now().strftime("%I:%M %p")


def show_name():
    l = []
    for a, t in process_time.items():
        e = {}
        e['AppName'] = a
        e['Time'] = t
        l.append(e)
    data["Data"] = l
    
    data=json.dumps(data))
    print(data)



schedule.every(30).seconds.do(show_name)

while True:
    try:
        current_app = psutil.Process(win32process.GetWindowThreadProcessId(GetForegroundWindow())[1]).name().replace(".exe", "")
        timestamp[current_app] = int(time.time())
        time.sleep(1)
        if current_app not in process_time.keys():
            process_time[current_app] = 0
        process_time[current_app] = process_time[current_app] int(time.time())-timestamp[current_app]

        print(process_time)

        schedule.run_pending()
        time.sleep(1)

        service_directory = os.path.abspath(os.path.dirname(__file__))   '/test1.csv'
        with open(service_directory, 'w', encoding='UTF8', newline='') as f:
            for key in process_time.keys():
                f.write("%s,%sn"%(key, process_time[key]))
    except:
        pass