在OSX上使用Python select kqueue监控外部应用文件创建

2 投票
1 回答
882 浏览
提问于 2025-04-16 10:29

通常,我录制的一个小时的音频文件转成mp3格式大约需要二十分钟。

我想用一个Python脚本来执行一系列代码,当OSX上的GarageBand应用程序完成写入这个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"

1 个回答

1

你可以使用popen命令来运行lsof,然后根据你感兴趣的进程或文件进行筛选...

撰写回答