Python Получение абзаца Docx приводит к многократному запуску - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь извлечь все абзацы с помощью docx в Python, а затем заменить его другим текстом, используя приведенный ниже код:

doc = Document(file)
for p in doc.paragraphs:
    inline = p.runs
    for i in range(len(inline)):
        text = inline[i].text
        print("TEXT fom the paragraph: " + str(text))
        # Some code for translation
        for translatedE in translationList:
          text = text.replace(text_value, translatedE)
          inline[i].text = text


doc.save(os.path.join("abc" + ".docx"))

Все работает нормально. Но если у меня есть вводимый текст с внезапной сменой шрифта или текст с несколькими символами, абзац разбивается на более мелкие части. Затем замененное значение добавляется в документ без пробелов. Пример:

Входной абзац : [1] Python - это интерпретируемый язык программирования общего назначения высокого уровня. Создан Гвидо ван Россумом и впервые выпущен в 1991 году. [2] «Философия» дизайна Python подчеркивает удобочитаемость кода с его заметным использованием значительных пробелов.

OutPut абзацы: ['Python - интерпретируемый язык программирования общего назначения высокого уровня'., 'Создан Гвидо ван Россумом и впервые выпущен в 1991 году', 'Python' s "философия дизайна", '"', 'подчеркивает удобочитаемость кода с заметным использованием значительных пробелов.']

выпущено добавляется без пробелов с обеих сторон, а цитата" рассматриваются отдельно. Есть ли способ избежать этого и получить полный параграф, не разделяя его на части для таких случаев.

Любая помощь будет принята с благодарностью! P: S. Я новичок в Python :)

...