0

正如标题所述,我需要使用 python 观察目录的更改(主要用于文件添加)

我在这里偶然发现了一些解决方案,但没有一个能正常工作

1.一个解决方案是使用“fcntl”,我在我的系统上尝试过,但失败并出现错误“无属性 F_SETSIG”。谷歌搜索它没有任何用处

2.Python模块看门狗安装失败,因为我没有xcode,我不想下载(太大而无法下载,这么小的工作有很多不必要的东西)

接受的解决方案是特定于 Windows 的,没有大包的其他人都不能在 osx 上工作

所以最后我不想要任何涉及 XCODE、PyQT、轮询、繁忙循环的解决方案(即每隔几秒检查一次 DIR)

Applescripts 默认支持这个,所以我认为 python 也应该没有任何大的模块/包

顺便说一句,我正在使用 OS X 10.7.2 和 python 2.7.3

提前致谢

4

2 回答 2

1

您要使用的 API 是FSEvents API。Python 不附带与该 API 的绑定,因此您需要创建自己的绑定或使用诸如MacFSEventspython-watchdog之类的库。然而,你真的应该只安装 Xcode——这些库需要编译 C 绑定,而 Xcode 是获得 C 编译器的最简单方法。

如果你真的想避免 Xcode,你可以使用ctypes 模块滚动你自己的绑定,但这将是一个很大的痛苦。

Applescripts 默认支持这个,所以我认为 python 也应该没有任何大的模块/包

倒霉。可用的各种第三方库并不大,它们只需要一个 C 编译器即可工作。

于 2012-07-19T22:05:50.493 回答
0

我现在在 osx 上使用看门狗。它工作得很好。安装 xcode。或者只是编译器的命令行工具。

您可以在没有 xcode 的情况下安装 gcc 编译器:https ://github.com/kennethreitz/osx-gcc-installer

如果你真的想要一个 applescript 方法,你可以使用 python 绑定 appscript:http
://appscript.sourceforge.net/py-appscript/index.html 我也使用这些,它们工作得很好。

所以最后我不想要任何涉及 XCODE、PyQT、轮询、繁忙循环的解决方案(即每隔几秒检查一次 DIR)

基本上你是说你什么都不想要。任何解决方案都将使用一种轮询形式。无论是系统触发还是应用程序繁忙循环。您只需要花一点时间来安装编译器即可使用您选择的解决方案。

于 2012-07-19T22:09:28.417 回答