使用python创建一个新的odt文件

问题描述:

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

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

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

任何人都可以帮忙吗?

+0

“更好”的含义是什么?你的代码是否工作? – 2016-11-09 15:44:12

+0

如果您的变量中已经有了有效的XML内容,那么就是这样做的方法。 但是,到这一点可能会非常棘手,这就是PyODF波纹管等第三方模块可以提供帮助的地方。 – jsbueno

您可以尝试使用软件包odfpy。

你可以看到一些信息herehere

Odfpy是读写OpenDocument的诉1.2文件库。 的主要焦点是防止程序员创建无效的 文件。如果程序员 添加了一个无效元素,将未知属性添加到语法中,那么它会进行检查以提醒异常, 忘记添加必需的属性或将文本添加到 不允许的元素。它是在管状的,所以你可以

安装它,你可以用PIP安装它:“你觉得有更好的方式来做到这一点”

pip install odfpy