Время для другого вопроса новичка, я боюсь.Я пытаюсь использовать Python 3.2.2 (в данном случае важна версия) для отслеживания изменений в конкретном пути Windows.Простейший метод и метод, который я использую, это:
original_state = os.listdir(path_string)
while os.listdir(path_string) == original_state:
time.sleep(1)
change_time = datetime.datetime.now()
Я пишу этот код, чтобы выполнить некоторые тесты синхронизации другого приложения.С этой целью скрипт Python должен (а) не оказывать негативного влияния на производительность системы и (б) быть относительно точным - предел ошибки в +/- 1 секунда является абсолютным максимумом, который я могу оправдать.К сожалению, этот метод не соответствует первому критерию: при выполнении этого конкретного кода виртуальная среда забивается , что резко замедляет операции, производительность которых я пытаюсь точно измерить.
Я прочитал , как посмотреть файловую систему на предмет изменений , Как посмотреть файл на наличие изменений? и http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html (статья рекомендуется какрешение этого второго вопроса SO.) К сожалению, код Тима Голдена выглядит как код Python 2.x - насколько я могу судить, модуль pywin32
не поддерживается в Python 3.
Что я могу сделать в Python 3, чтобы отслеживать этот конкретный путь, не сталкиваясь с теми же проблемами с производительностью?