首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xattr显示macOS文件注释

使用xattr显示macOS文件注释
EN

Stack Overflow用户
提问于 2020-08-23 17:01:03
回答 1查看 201关注 0票数 1

如果我在Python上使用xattr来显示文件的注释,它将显示无关的数据:

代码语言:javascript
复制
>>> from xattr import xattr
>>> from pprint import pprint
>>> pprint(xattr('tmp.pk.new')[u'com.apple.metadata:kMDItemFinderComment'])
'bplist00_\x10\x0fExample comment\x08\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a'
>>>

注释只是“示例注释”,那么正在显示的其他数据是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-24 15:59:06

查找器注释保存在二进制属性列表格式中,因此您必须对其进行解码才能访问内容。在Python3中,您可以只使用标准库模块plistlib

代码语言:javascript
复制
>>> from plistlib import loads
>>> from xattr import xattr
>>> contents = xattr('tmp.pk.new')['com.apple.metadata:kMDItemFinderComment']
>>> loads(contents)
'Example comment'

如果您仍然使用Python2,如代码所示,您必须使用外部库,因为buildin plistlib不支持二进制格式,例如:

代码语言:javascript
复制
pip install biplist
python
>>> from biplist import readPlistFromString
>>> from xattr import xattr
>>> contents = xattr('tmp.pk.new')['com.apple.metadata:kMDItemFinderComment']
>>> readPlistFromString(contents)
'Example comment'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63549738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档