用python创建一个新的odt文件

Posted

技术标签:

【中文标题】用python创建一个新的odt文件【英文标题】:create a new odt-file with python 【发布时间】:2016-11-09 15:42:52 【问题描述】:

我有一个文件夹“myfolder”,它是在我解压 odt 文件时创建的。我已经删除了文件夹中的 content.xml。现在我想添加一个名为“content.xml”的文件,其中包含数据(这里的变量“content”是 xml 样式的文本)。我试过这个:

with zipfile.ZipFile('myfolder', mode='a', compression=zipfile.ZIP_DEFLATED) as zf:
        zf.writestr('content.xml', content)

我得到一个 odt 文件,但它已损坏。当我解压缩它时,里面只有 content.xml。模式参数是 'a' 所以我想它会将 content.xml 附加到其他文件中。

有人可以帮忙吗?

【问题讨论】:

'你认为有更好的方法吗?' “更好”是什么意思?你的代码有效吗? 如果您的变量中已经有有效的 XML 内容,那就是这样做的方法。但是,达到这一点可能会很棘手,这就是 PyODF 波纹管等第三方模块可以提供帮助的地方。 【参考方案1】:

您可以尝试使用 odfpy 包。

你可以看到一些信息here和here

Odfpy 是一个用于读写 OpenDocument v. 1.2 文件的库。这 主要重点是防止程序员创建无效的 文件。如果程序员检查它会引发异常 添加无效元素,添加语法未知的属性, 忘记添加必需的属性或向元素添加文本 不允许。它在 pipy 上,所以你可以用它来安装它

你可以用 pip 安装它:

pip install odfpy

【讨论】:

以上是关于用python创建一个新的odt文件的主要内容,如果未能解决你的问题,请参考以下文章

Python要编写一个完整的程序,需要创建新的文件。应该选择啥菜单创建?

如何将条件格式应用于 odt 文件?

将 .odt .doc .ods 文件转换为 .txt 文件

从 C 程序编写 odf 文件的库 [关闭]

等到 LibreOffice 创建文件

是否有 Python 库可以为各种文档文件格式创建缩略图?