在Tkinter搜索文件应用程序中合并文件

2024-05-05 15:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Tkinter构建一个简单的应用程序,在其中我应该能够搜索本地文件夹中的文件并显示它们。例如,如果我正在搜索一个“test.txt”文件,它将返回该文件和所有txt文件。现在问题的第二部分是,我必须将搜索中返回给我的所有文件合并到一个文件中(我知道这听起来很荒谬,但请原谅我)。我已经成功地实现了第一部分,但无法实现第二部分。对于函数和OOPs概念来说是非常新的。将我的代码粘贴到下面,希望能得到一些指导。请原谅我的代码质量,因为我是新手

import pandas as pd

from tkinter import *

import os

from docx import Document

doc1 = Document()


def search_file():
    file_entry_name = entry.get()
    answer.delete(1.0,END)
    extension = file_entry_name.split('.')[1]
    file_name = file_entry_name.split('.')[0]
    file_entry_name = file_entry_name.lower()

    for r,d,f in os.walk('/Users/kausthab/Documents/Documents – Kausthab’s MacBook Air/DSBA'):
        for file in f:
            file.split()
            if file.startswith(file_entry_name) or file.endswith(extension):
                answer.insert(INSERT,file + '\n')

def merge_file():
    # files = os.listdir('/Users/kausthab/Documents/Documents – Kausthab’s MacBook Air/DSBA')
    # global answer
    # for i in answer:
    #     if i != '.DS_Store':  # i kept getting an error for a hidden file. So excluded it
    #         doc1.add_heading(i, 2)
    #         doc2 = Document(i)
    #         for para in doc2.paragraphs:
    #             para_in_doc = doc1.add_paragraph(para.text)
    #         doc1.add_page_break()
    # doc1.save('search.docx')
    return





root = Tk()

root.title('Docu Search')

topframe = Frame(root)
entry = Entry(topframe)
entry.pack()

button = Button(topframe, text="search",command =search_file)
button.pack()




topframe.pack(side = TOP)


bottomframe = Frame(root)


scroll = Scrollbar(bottomframe)
scroll.pack(side=RIGHT, fill=Y)
answer = Text(bottomframe, width=80, height=50, yscrollcommand = scroll.set,wrap= WORD)
scroll.config(command=answer.yview)

merge_button = Button(bottomframe, text="merge",command =merge_file)
merge_button.pack()
answer.pack()



bottomframe.pack()

root.mainloop()