Используйте python select kqueue в OSX для мониторинга создания файла внешним приложением

Обычно перекодирование моих часовых сеансов аудиозаписи в mp3-файл занимает двадцать с лишним минут.

Я хочу использовать скрипт python для выполнения серии кода python, когда гаражное приложение OSX закончит запись этого mp3-файла.

Каковы наилучшие способы в python определить, что внешнее приложение записывает данные в файл и закрывает этот файл. Я читал о kqueue и epoll, но, поскольку у меня нет опыта в обнаружении событий ОС и я не смог найти хороший пример, я прошу его здесь.

Код, который я сейчас использую, делает следующее, и я ищу что-то более элегантное.

while True:
    try:
        today_file = open("todays_recording.mp3","r")
        my_custom_function_to_process_file(today_file)
    except IOError:
         print "File not ready yet..continuing to wait"

person harijay    schedule 24.01.2011    source источник


Ответы (1)


Вы можете открыть lsof и отфильтровать по интересующему вас процессу или файлу...

person Matt Billenstein    schedule 24.01.2011
comment
Я надеюсь на решение, которое использует опрос или решение на основе событий, потому что я хочу узнать, как это будет закодировано. - person harijay; 28.01.2011