Traceback (most recent call last): File "D:\wkpy\ds文件读取.py", line 5, in <module> plist = plistlib.load(fp) ^^^^^^^^^^^^^^^^^ File "D:\python\Lib\plistlib.py", line 869, in load raise InvalidFileException() plistlib.InvalidFileException: Invalid file
时间: 2023-08-02 22:09:33 浏览: 169
浅谈Python traceback的优雅处理
这个错误通常是因为你的 `.DS_Store` 文件格式不正确导致的。可能是文件已经损坏或者被修改,或者是使用了不兼容的版本生成的文件。
要解决这个问题,你可以尝试使用其他工具或者方法来读取 `.DS_Store` 文件,例如使用 `xattr` 库来读取文件的扩展属性:
```python
import xattr
with open(r'D:\wkpy\.DS_Store', 'rb') as fp:
# 读取文件的扩展属性
attrs = xattr.xattr(fp)
# 获取文件夹的图标位置
icon_location = attrs[b'com.apple.FinderInfo'][8:16]
# 获取文件夹名称
folder_name = attrs[b'com.apple.FinderInfo'][20:]
# 获取文件夹的创建时间
create_time = attrs[b'com.apple.metadata:kMDItemFSCreationDate']
```
这个方法可以直接读取文件的扩展属性,而不需要解析 `.DS_Store` 文件。但是需要注意的是,这种方法只适用于 Mac OS 系统,如果你的程序需要在其他操作系统上运行,可能需要使用其他方法来读取文件的元数据。
如果你需要读取 `.DS_Store` 文件的详细信息,可以尝试使用 `HexFiend` 等工具来直接查看文件的二进制内容,或者使用 Python 的 `struct` 模块来解析文件格式。但是这需要一定的技术水平和经验,不建议初学者尝试。
阅读全文