Как я могу найти замену строки в файле .odt в Python и вывести ее в другой файл .odt?Python

Программы на Python
Ответить
Anonymous
 Как я могу найти замену строки в файле .odt в Python и вывести ее в другой файл .odt?

Сообщение Anonymous »

Предположим, у меня есть файл .odt с именем «myfile.odt» в определенном каталоге (это не текущий рабочий каталог), и я хочу заменить «astring» на «anewstring», а затем экспортировать измененный файл в новый файл .odt в текущем каталоге. Как я могу сделать это на Python?
Я пытался сделать это с помощью XML.Etree, но мне было слишком сложно это понять, и я наткнулся на несколько стен, не совсем понимая, что я сделал не так. Я также попробовал решение, представленное здесь, но безрезультатно... На самом деле ни одно из решений из других сообщений не помогло мне, ChatGPT тоже не помог, и я борюсь с трудностями, поскольку я не привык манипулировать XML-подобными файлами, что, если я правильно понимаю, является подходящим способом рассмотрения и обработки документов .odt и Word, вообще говоря.
Любой совет был бы полезен! Большое спасибо!
РЕДАКТИРОВАНИЕ: очевидно, рассмотрение файла .odt как текстового файла не работает (новый файл записывается, но идентичен входному файлу). Кроме того, библиотека odfpy, похоже, не работает из-за проблемы, описанной на их странице Git. Любой, кто мог бы предоставить метод 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()


Подробнее здесь: https://stackoverflow.com/questions/755 ... -it-to-ano
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»