已嵌入.qrc并转py的help.pdf如何用Python提取写入本地文件夹
解决方案
假设你是通过PySide/PyQt的rcc工具将.qrc文件转换为Python模块,例如生成的文件名为resources_rc.py,且你在.qrc中添加help.pdf时用的是默认路径配置,可按以下步骤实现:
- 第一步:导入生成的资源模块
必须先导入资源模块才能访问内部绑定的资源文件,示例代码:import resources_rc # 替换为你实际生成的资源py文件名 # 如果使用PyQt系列工具,把下面的PySide6替换为PyQt6/PyQt5即可 from PySide6.QtCore import QFile, QIODevice - 第二步:读取资源中的PDF二进制内容
资源文件的访问路径格式为:/[qrc内定义的文件路径],如果qrc内直接把help.pdf放在根节点,路径就是:/help.pdf:qrc_file = QFile(":/help.pdf") if not qrc_file.open(QIODevice.ReadOnly): raise RuntimeError(f"资源读取失败: {qrc_file.errorString()}") # 提取PDF的完整二进制内容 pdf_content = qrc_file.readAll().data() qrc_file.close() - 第三步:写入本地文件夹
直接用Python原生文件操作写入即可,自行替换为你需要的本地保存路径:# 示例保存路径为当前运行目录下的help.pdf,可自定义修改 save_path = "./help.pdf" with open(save_path, "wb") as f: f.write(pdf_content)
如果你在.qrc中给文件设置了自定义前缀,例如配置为<qresource prefix="docs"><file>help.pdf</file></qresource>,将第二步的资源路径修改为:/docs/help.pdf即可。
内容的提问来源于stack exchange,提问作者Martin Jeaks
相关产品推荐
相关产品推荐

