访问本机macos api的python绑定
rh.osx的Python项目详细描述
访问本机macos api的python绑定
细节
我创建这个库是为了向我编写的其他python代码提供对本地macosapi的访问。 它使用ctypes绑定到底层的C API,通常只是“原样”公开这些API 而不是试图用python来通知他们。
但是,它确实提供了一些工具,使使用api变得更加容易,但是 完全是可选的。有几种类型(例如CFTypeRef,io_object_t)具有autorelease() 方法,当python 保存引用的对象被销毁。
此外,字符串可以自动转换为CFStringRef。上述 autorelease方法用于确保短暂的CFStringRef不会泄漏。
有一个IOIterator类可以将io_iterator_t改编为python迭代器。
绑定并不全面,我通常只是根据需要添加一些内容。
代码是用Python2.7和3.6测试的。
示例
>>> from rh.osx import corefoundation >>> string_copy = corefoundation.CFStringCreateCopy(None, ... """The Python string object is automatically converted to a CFStringRef. ... The returned CFStringRef copy will automatically be released.""").autorelease() >>> print(str(string_copy)) The Python string object is automatically converted to a CFStringRef. The returned CFStringRef copy will automatically be released.
许可证
这个库是在mit许可下分发的,如许可文件中所述。