python - 在 Tkinter 搜索文件应用程序中合并文件
问题描述
我正在尝试使用 Tkinter 构建一个简单的应用程序,其中我应该能够在我的本地文件夹中搜索文件并显示它们。例如,如果我正在搜索“test.txt”文件,它将返回该文件以及所有 txt 文件。现在问题的第二部分是,我必须将在搜索中返回给我的所有文件合并到一个文件中(我知道这听起来很荒谬,但请原谅我)。我已经成功实现了第一部分,但无法实现第二部分。函数和 OOP 概念相当新。在下面粘贴我的代码,希望得到一些指导。请原谅我的代码质量,因为我很新。
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()
解决方案
推荐阅读
- javascript - 从类方法调用发射时的不同行为
- javascript - 无法读取未定义的属性“消息处理程序”
- ios - 如何使用 swift 4.2 在 viewDidload 和 Search 选项中按名称字段执行可编码值?
- hibernate - 为什么 List 类型的 spring data 参数不像其他参数类型那样打印在日志上?
- c++ - 是否有 Linux 等效的 SetupDiGetClassDevs 函数
- java - 休眠一对多将两个外键映射到同一列?
- postgresql - 无法使用 Postgres 数据库配置 hashcorp-vault
- java - Actionbar.removealltabs() 留下标签空间
- angular - 如何将状态值分配给 Angular 组件 [ngrx Store] 中的字符串变量
- javascript - Javascript删除字符并返回字符串