提问人:Michael Gauthier 提问时间:2/26/2023 最后编辑:mzjnMichael Gauthier 更新时间:2/27/2023 访问量:246
如何在 Python 中找到替换 .odt 文件中的字符串并将其输出到另一个 .odt 文件?
How can I find a replace a string in an .odt file in Python and output it to another .odt file?
问:
假设我在特定目录(不是当前工作目录)中有一个名为“myfile.odt”的 .odt 文件,我想将“astring”替换为“anewstring”,然后将修改后的文件导出到当前目录中的新 .odt 文件中。如何在Python中做到这一点?
我尝试用 XML.Etree 来做这件事,但对我来说有点太多了,我无法理解,我遇到了几堵墙,没有真正理解我做错了什么。我也尝试了这里提供的解决方案,但无济于事......实际上,其他帖子中的解决方案都没有为我做到这一点,ChatGPT 也无济于事,而且我正在苦苦挣扎,因为我不习惯操作类似 XML 的文件,如果我理解正确的话,这是考虑和处理 .odt 和 Word 文档的适当方式一般来说。
任何小费都会很棒!多谢!
编辑:显然将.odt文件视为文本文件不起作用(新文件已写入,但与输入文件相同)。此外,由于 Git 页面上解释的问题,odfpy 库似乎也无法正常工作。任何能够提供 XML.Etree 方法(或任何实际有效的方法)的人都会非常友善......
编辑2:这是我用来尝试将文件作为简单的.txt文件处理的脚本,但它导致输出文件损坏且无法使用,这使我相信XML.Etree可能更合适:
f1 = open('test.odt', 'r', encoding='latin')
f2 = open('newfile.odt', 'w')
for line in f1:
f2.write(line.replace('mystring', 'newstring'))
f1.close()
f2.close()
答: 暂无答案
评论