Извлечь текст и записать в новый файл Word - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь создать GUI Tkinter, с двумя кнопками, каждая кнопка предназначена для: извлечения абзаца (1,2,3, что угодно) и копирования в новый текстовый файл (Pyhton 3.8, PyCharm (Windows 10, OS). Но дело в том, что он извлекает, копирует в новый файл, но не добавляет, а только извлекает / копирует в новый файл, одну кнопку, а не обе.

вот код (имейте в виду, что я абсолютный любитель, всего 2 недели в активе Python: D)

from tkinter import *

import docx
from docx import Document

doc = docx.Document("C:/Users/Dorian/Desktop/Descriere/1/texte_aparate_de_aer_conditionat.docx")

def intro_text():

    document = Document()

   single_para1 = doc.paragraphs[2]
    single_para2 = doc.paragraphs[4]

    document.add_paragraph(single_para1.text)
    document.add_paragraph(single_para2.text)
    document.save('C:/Users/Dorian/Desktop/Descriere/1/txt.docx')

  def specs():

    document = Document()

    single_para3 = doc.paragraphs[6]
    single_para4 = doc.paragraphs[16]

    document.add_paragraph(single_para3.text)
    document.add_paragraph(single_para4.text)
    document.save('C:/Users/Dorian/Desktop/Descriere/1/txt.docx')

main=Tk()
main.title('Descriere Aparate de Aer Conditionat')
main.geometry('400x100')

GUIFrame=Frame(main)
GUIFrame.grid(row=1, column=1, sticky=W)

Button(GUIFrame, text="Pentru cele cu Wi-Fi", width=35, command=intro_text).grid(row=1, column=1, sticky=W)
Button(GUIFrame, text="Eficienta", width=35, command=specs).grid(row=3, column=1, sticky=W)

main.mainloop()

Спасибо!

1 Ответ

1 голос
/ 21 июня 2020

Если я правильно понял ваш вопрос, вы хотите добавить пункты в новый документ. Насколько я могу судить, обе кнопки создают новый документ, но сохраняют его с тем же именем. Поэтому вы продолжаете перезаписывать документ каждый раз, когда нажимаете кнопку.

Вы должны создать отдельные функции: одну для создания нового документа, затем две, которые добавляют абзацы в этот документ, и, наконец, функцию, которая сохраняет документ .

...