Поле поиска с использованием Python - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в GUI на python !!!! ? У меня вопрос, я в основном открываю файл .txt и ищу строку в строках; эта строка находится примерно через каждые 100 строк. Моя цель в основном состоит в том, чтобы иметь GUI, который открывает .txt (используя диалоговое окно GUI), затем иметь другое диалоговое окно, которое «ищет» в этом файле (для заданной строки) ... и экспортирует (100 или около того) строки из одного файла в новый файл .txt! Буду признателен за вашу помощь !!!

Вот код:

*import tkinter as tk
from tkinter import filedialog
select_file = tk.Tk()  # Dialog box to prompt user for the file.
select_file.withdraw()
in_path = filedialog.askopenfilename()
#print(in_path)
inspect_log = open(in_path, "r")  # Open event_log.log for read only access.*

1 Ответ

1 голос
/ 04 марта 2020

Вы можете использовать simpledialog.askstring() для запроса шаблона, а затем вы можете поставить Text() или Listbox() или Label() в главном окне Tk() с результатом

import tkinter as tk
from tkinter import filedialog
from tkinter import simpledialog

select_file = tk.Tk()  # Dialog box to prompt user for the file.
select_file.withdraw()

# read

in_path = filedialog.askopenfilename()
inspect_log = open(in_path)  # Open event_log.log for read only access.*
data = inspect_log.read()

# search

pattern = simpledialog.askstring('Search', 'What to search?')

results = []
for line in data.split('\n'):
    if pattern in line:
        results.append(line)
results = "".join(results)

# save results

output_file = open("output.txt", "w")
output_file.write(results)
output_file.close()

# display result

text = tk.Text(select_file)
text.pack()

text.insert('end', results)

button = tk.Button(select_file, text="Close", command=select_file.destroy)
button.pack()

select_file.deiconify()
select_file.mainloop()
...