Форум сайта python.su
Здравствуйте, здесь выполняется сортировка. При нажатии на кнопку сортировки информацию ищет в назначенной папке перебирая файлы которые там находятся находит заданные слова поиска и выводит результат(ы) в назначенное поле. Вопрос.
1. Не пойму в чем проблема не ищет по критерию “Вид работ”.
2. Нужно что бы, при нажатии на элемент из отсортированного списка открывало тот файл где нашли вариант.
# -*- coding: UTF-8 -*-
from tkinter import *
import tkinter.filedialog as fdialog
from tkinter import messagebox
from tkinter.messagebox import *
root = Tk()
root.geometry('800x450')
root.title('Окно оформления')
root.resizable(width = False, height = False)
#——————–u'Попытка сортировки'————–#
import os
#Каталог из которого будем брать файлы (написать свой)
directory = ‘C:\Python33’
files = os.listdir(directory)
global search_
def open_winS():
global search_
global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData
global rb1, rb2, rb3, rb4, labNom, editNom
global labRab, editRab, labVR, value1
winS = Toplevel(root)
winS.title(“search”)
winS.geometry(“500x420”)
#label_111 = Label(winS, text = ‘AAAAAAAA’)
#label_111.pack()
labNom = Label(winS, text = u'введите номер:')
editNom = Entry(winS)
labPodr = Label(winS, text = u'выберите подрядчика:')
var = IntVar()
rbutton_1=Radiobutton(winS,text='Много',variable=var,value=1)
rbutton_2=Radiobutton(winS,text='Ёжиков', variable=var,value=2)
rbutton_3=Radiobutton(winS,text='В тумане“', variable=var,value=3)
labVR = Label(winS, text = u'выберите вид работ:')
varVR = IntVar()
rb1 = Radiobutton(winS, text = u'КВР', variable=varVR, value=1)
rb2 = Radiobutton(winS, text = u'Монтаж, п/н', variable=varVR, value=2)
rb3 = Radiobutton(winS, text = u'Проектнi роботи', variable=varVR, value=3)
rb4 = Radiobutton(winS, text = u'Огляди, ЕО, атестація', variable=varVR, value=4)
labRab = Label(winS, text = u” Об'єкт робiт (адреса):")
editRab = Entry(winS,bd = 5, width = 35)
def lb1_change(evt):
global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData
global rb1, rb2, rb3, rb4, labNom, editNom
global labRab, editRab, labVR, value1
value1 = lb1.get(lb1.curselection())
if value1 == u'по подрядчику':
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
labRab.place_forget()
editRab.place_forget()
labVR.place_forget()
labPodr.place(x = 150, y = 20)
rbutton_1.place(x = 150, y = 50)
rbutton_2.place(x = 150, y = 80)
rbutton_3.place(x = 150, y = 110)
elif value1 == u'по виду работ':
labPodr.place_forget()
labNom.place_forget()
editNom.place_forget()
rbutton_1.place_forget()
rbutton_2.place_forget()
rbutton_3.place_forget()
labRab.place_forget()
editRab.place_forget()
labVR.place(x = 150, y = 20)
rb1.place(x = 150, y = 50 )
rb2.place(x = 150, y = 80 )
rb3.place(x = 150, y = 110 )
rb4.place(x = 150, y = 140 )
elif value1 == u'по номеру':
rbutton_2.place_forget()
rbutton_3.place_forget()
labPodr.place_forget()
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
labRab.place_forget()
editRab.place_forget()
labVR.place_forget()
labNom.place(x = 150, y = 20)
editNom.place(x = 150, y = 50, width = 70)
elif value1 == u'по объекту работ':
rbutton_1.place_forget()
rbutton_2.place_forget()
rbutton_3.place_forget()
labPodr.place_forget()
rb1.place_forget()
rb2.place_forget()
rb3.place_forget()
rb4.place_forget()
labNom.place_forget()
editNom.place_forget()
labVR.place_forget()
labRab.place(x = 150, y = 20 )
editRab.place(x = 150, y = 50)
def search_():
global directory, files, value1
if labPodr.winfo_viewable():
if (var.get() == 1): # u'Тут какая-то муть с кодировкой.'
podr = str(rbutton_1) # u'интерпритатор не понимает укр. i ‘
elif (var.get() == 2): # u’так что заменил её везде на англ. i '
podr = str(rbutton_2)
elif (var.get() == 3):
podr = str(rbutton_3)
poisk = podr
if labVR.winfo_viewable():
if (varVR.get() == 1):
VR = str(rb1)
elif (varVR.get() == 2):
VR = str(rb2)
elif (varVR.get() == 3):
VR = str(rb3)
poisk = VR
if labNom.winfo_viewable():
poisk = editNom.get()
if labRab.winfo_viewable():
poisk = editRab.get()
print (poisk)
for i in files:
if i.endswith(“.xls”):
print (i)
f = open(i, ‘r’)
text = f.read()
if poisk in text:
t1.insert(END, ‘(!)’+str(value1)+“ ”+str(poisk)+' было найдено в ‘ + i+’\n\n')
f.close()
#else:
#t1.insert(END, poisk +'\nне было найдено в ‘ + str(directory) +’/'+ str(i)+'\n\n')
t1 = Listbox(winS, width = 59, height = 10)
t1.place(x = 10, y = 200)
list1=[u'по подрядчику',u'по виду работ',
u'по номеру',u'по объекту работ']
lab1 = Label(winS, text = u'Выбрать сортировку: ‘)
lab1.place(x = 5, y = 20)
lb1 = Listbox(winS, height = 6)
lb1.place(x = 5, y = 50)
lb1.bind(’<<ListboxSelect>>', lb1_change)
for item in list1:
lb1.insert(END, item)
but1 = Button(winS, text = ‘Искать’, command = search_)
but1.place(x = 330, y = 380)
def dell():
t1.delete(0,END) # очистка
clean = Button(winS, text = ‘Очистить’, command = dell )
clean.place(x = 400, y = 380)
#———————menu_bar_winS————————–#
menu = Menu(winS)
winS.config(menu=menu)
def close_this():
root.destroy()
def clear_list():
t1.delete(0,END)
filemenu = Menu(menu)
menu.add_cascade(label=“File”, menu=filemenu)
#filemenu.add_command(label=“Open…”)
#filemenu.add_command(label = “Save as”, command = save_as)
#filemenu.add_separator()
filemenu.add_command(label = “Clear”, command = clear_list)
filemenu.add_separator()
filemenu.add_command(label=“Exit”, command = close_this)
#——————–menu_bar_end_winS————————#
winS.mainloop()
bSort = Button(root, text = ‘sort this’, command = open_winS)
bSort.place(x = 700, y = 400)
root.mainloop()
Отредактировано Yura_Lemeshko (Сен. 12, 2014 12:27:14)
Прикреплённый файлы: 1111.png (281,5 KБ)
Офлайн
Yura_Lemeshko
Вам же в предыдущей теме сказали, используйте теги, чтобы код был нормально читаемым и копируемым. На панели редактирования поста есть кнопка с раскрывающимся списком языков.
Офлайн
AZJIO
root.mainloop()
# -*- coding: UTF-8 -*- from tkinter import * import tkinter.filedialog as fdialog from tkinter import messagebox from tkinter.messagebox import * root = Tk() root.geometry('800x450') root.title('Окно оформления') root.resizable(width = False, height = False) #--------------------u'Попытка сортировки'--------------# import os #Каталог из которого будем брать файлы (написать свой) directory = 'C:\Python33' files = os.listdir(directory) global search_ def open_winS(): global search_ global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData global rb1, rb2, rb3, rb4, labNom, editNom global labRab, editRab, labVR, value1 winS = Toplevel(root) winS.title("search") winS.geometry("500x420") #label_111 = Label(winS, text = 'AAAAAAAA') #label_111.pack() labNom = Label(winS, text = u'введите номер:') editNom = Entry(winS) labPodr = Label(winS, text = u'выберите подрядчика:') var = IntVar() rbutton_1=Radiobutton(winS,text='Много',variable=var,value=1) rbutton_2=Radiobutton(winS,text='Ёжиков', variable=var,value=2) rbutton_3=Radiobutton(winS,text='В тумане"', variable=var,value=3) labVR = Label(winS, text = u'выберите вид работ:') varVR = IntVar() rb1 = Radiobutton(winS, text = u'КВР', variable=varVR, value=1) rb2 = Radiobutton(winS, text = u'Монтаж, п/н', variable=varVR, value=2) rb3 = Radiobutton(winS, text = u'Проектнi роботи', variable=varVR, value=3) rb4 = Radiobutton(winS, text = u'Огляди, ЕО, атестацiя', variable=varVR, value=4) labRab = Label(winS, text = u" Об'єкт робiт (адреса):") editRab = Entry(winS,bd = 5, width = 35) def lb1_change(evt): global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData global rb1, rb2, rb3, rb4, labNom, editNom global labRab, editRab, labVR, value1 value1 = lb1.get(lb1.curselection()) if value1 == u'по подрядчику': rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labRab.place_forget() editRab.place_forget() labVR.place_forget() labPodr.place(x = 150, y = 20) rbutton_1.place(x = 150, y = 50) rbutton_2.place(x = 150, y = 80) rbutton_3.place(x = 150, y = 110) elif value1 == u'по виду работ': labPodr.place_forget() labNom.place_forget() editNom.place_forget() rbutton_1.place_forget() rbutton_2.place_forget() rbutton_3.place_forget() labRab.place_forget() editRab.place_forget() labVR.place(x = 150, y = 20) rb1.place(x = 150, y = 50 ) rb2.place(x = 150, y = 80 ) rb3.place(x = 150, y = 110 ) rb4.place(x = 150, y = 140 ) elif value1 == u'по номеру': rbutton_2.place_forget() rbutton_3.place_forget() labPodr.place_forget() rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labRab.place_forget() editRab.place_forget() labVR.place_forget() labNom.place(x = 150, y = 20) editNom.place(x = 150, y = 50, width = 70) elif value1 == u'по объекту работ': rbutton_1.place_forget() rbutton_2.place_forget() rbutton_3.place_forget() labPodr.place_forget() rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labNom.place_forget() editNom.place_forget() labVR.place_forget() labRab.place(x = 150, y = 20 ) editRab.place(x = 150, y = 50) def search_(): global directory, files, value1 if labPodr.winfo_viewable(): if (var.get() == 1): # u'Тут какая-то муть с кодировкой.' podr = str(rbutton_1['text']) # u'интерпритатор не понимает укр. i ' elif (var.get() == 2): # u'так что заменил её везде на англ. i :/' podr = str(rbutton_2['text']) elif (var.get() == 3): podr = str(rbutton_3['text']) poisk = podr if labVR.winfo_viewable(): if (varVR.get() == 1): VR = str(rb1['text']) elif (varVR.get() == 2): VR = str(rb2['text']) elif (varVR.get() == 3): VR = str(rb3['text']) poisk = VR if labNom.winfo_viewable(): poisk = editNom.get() if labRab.winfo_viewable(): poisk = editRab.get() print (poisk) for i in files: if i.endswith(".xls"): print (i) f = open(i, 'r') text = f.read() if poisk in text: t1.insert(END, '(!)'+str(value1)+" "+str(poisk)+' было найдено в ' + i+'\n\n') f.close() #else: #t1.insert(END, poisk +'\nне было найдено в ' + str(directory) +'/'+ str(i)+'\n\n') t1 = Listbox(winS, width = 59, height = 10) t1.place(x = 10, y = 200) list1=[u'по подрядчику',u'по виду работ', u'по номеру',u'по объекту работ'] lab1 = Label(winS, text = u'Выбрать сортировку: ') lab1.place(x = 5, y = 20) lb1 = Listbox(winS, height = 6) lb1.place(x = 5, y = 50) lb1.bind('<<ListboxSelect>>', lb1_change) for item in list1: lb1.insert(END, item) but1 = Button(winS, text = 'Искать', command = search_) but1.place(x = 330, y = 380) def dell(): t1.delete(0,END) # очистка clean = Button(winS, text = 'Очистит', command = dell ) clean.place(x = 400, y = 380) #---------------------menu_bar_winS--------------------------# menu = Menu(winS) winS.config(menu=menu) def close_this(): root.destroy() def clear_list(): t1.delete(0,END) filemenu = Menu(menu) menu.add_cascade(label="File", menu=filemenu) #filemenu.add_command(label="Open...") #filemenu.add_command(label = "Save as", command = save_as) #filemenu.add_separator() filemenu.add_command(label = "Clear", command = clear_list) filemenu.add_separator() filemenu.add_command(label="Exit", command = close_this) #--------------------menu_bar_end_winS------------------------# winS.mainloop() bSort = Button(root, text = 'sort this', command = open_winS) bSort.place(x = 700, y = 400) root.mainloop()
Отредактировано Yura_Lemeshko (Дек. 3, 2014 13:50:31)
Офлайн
Yura_Lemeshko
Файл надо закрывать сразу после чтения.
В этой строке с бинарниками работает?
if poisk in text:
Офлайн
Говнокодер
Файл надо закрывать сразу после чтения.
Говнокодер
b - бинарный, то в вышеуказанной строке стал выводить ошибки.
Отредактировано 4kpt_II (Сен. 15, 2014 01:29:51)
Офлайн
Yura_Lemeshko
По поводу сортировки: Возможно есть стиль для Listbox, но в описании не увидел, но при вставке в Listbox пункты находятся в том порядке в котором вставлены. Отсюда вывод, их надо вставлять заранее отсортировав. Можно из цикла перебора файлов вставлять не в Listbox, а в список, далее сортировать список функцией sorted, и вставлять уже сортированный список.
По поводу скриншота с вопросом “как открыть файл”, пока не знаю. Eсли у вас Windows и вы не планируете переходить на Linux, то попробуйте AutoIt в качестве языка (справка на русском, ответы на форуме в ту же минуту в 3-x вариантах, вашу задачу писать 5 минут, с запуском и сортировкой)
Офлайн
Говнокодер
По поводу скриншота с вопросом “как открыть файл”, пока не знаю.
os.startfile(path_to_file)
Офлайн
4kpt_II
os.startfile()
Офлайн
4kpt_II
from tkinter import * import tkinter.filedialog as fdialog from tkinter.filedialog import * import os import subprocess root = Tk() def hello(event): os.startfile('C:\Python33\Тести\Тест.doc') #widget = Button (None, text = "Hello word") #widget.pack() #widget.bind('<Double-1>', hello) lb = Listbox(root) list1 = ["q"] for item in list1: lb.insert(END, item) lb.pack() lb.bind('<Double-Button-1>', hello) root.mainloop()
# -*- coding: UTF-8 -*- from tkinter import * import tkinter.filedialog as fdialog from tkinter import messagebox from tkinter.messagebox import * import os root = Tk() root.geometry('800x550') root.title('Окно оформления') root.resizable(width = False, height = False) #Каталог из которого будем брать файлы (напиши свой) directory = 'C:\Python33' files = os.listdir(directory) global search_ def open_winS(): global search_ global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData global rb1, rb2, rb3, rb4, labNom, editNom global labRab, editRab, labVR, value1 winS = Toplevel(root) winS.title("search") winS.geometry("500x420") #label_111 = Label(winS, text = 'AAAAAAAA') #label_111.pack() labNom = Label(winS, text = u'введите номер:') editNom = Entry(winS) labPodr = Label(winS, text = u'выберите подрядчика:') var = IntVar() rbutton_1=Radiobutton(winS,text='ТОВ СРБУ "Полтавалiфт"',variable=var,value=1) rbutton_2=Radiobutton(winS,text='ДП "Полтавалiфт"', variable=var,value=2) rbutton_3=Radiobutton(winS,text='ПП "Полтавалiфт"', variable=var,value=3) labVR = Label(winS, text = u'выберите вид работ:') varVR = IntVar() rb1 = Radiobutton(winS, text = u'КВР', variable=varVR, value=1) rb2 = Radiobutton(winS, text = u'Монтаж, п/н', variable=varVR, value=2) rb3 = Radiobutton(winS, text = u'Проектнi роботи', variable=varVR, value=3) rb4 = Radiobutton(winS, text = u'Огляди, ЕО, атестація', variable=varVR, value=4) labRab = Label(winS, text = u" Об'єкт робiт (адреса):") editRab = Entry(winS,bd = 5, width = 35) def lb1_change(evt): global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData global rb1, rb2, rb3, rb4, labNom, editNom global labRab, editRab, labVR, value1 value1 = lb1.get(lb1.curselection()) if value1 == u'по подрядчику': rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labRab.place_forget() editRab.place_forget() labVR.place_forget() labPodr.place(x = 150, y = 20) rbutton_1.place(x = 150, y = 50) rbutton_2.place(x = 150, y = 80) rbutton_3.place(x = 150, y = 110) elif value1 == u'по виду работ': labPodr.place_forget() labNom.place_forget() editNom.place_forget() rbutton_1.place_forget() rbutton_2.place_forget() rbutton_3.place_forget() labRab.place_forget() editRab.place_forget() labVR.place(x = 150, y = 20) rb1.place(x = 150, y = 50 ) rb2.place(x = 150, y = 80 ) rb3.place(x = 150, y = 110 ) rb4.place(x = 150, y = 140 ) elif value1 == u'по номеру': rbutton_2.place_forget() rbutton_3.place_forget() labPodr.place_forget() rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labRab.place_forget() editRab.place_forget() labVR.place_forget() labNom.place(x = 150, y = 20) editNom.place(x = 150, y = 50, width = 70) elif value1 == u'по объекту работ': rbutton_1.place_forget() rbutton_2.place_forget() rbutton_3.place_forget() labPodr.place_forget() rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labNom.place_forget() editNom.place_forget() labVR.place_forget() labRab.place(x = 150, y = 20 ) editRab.place(x = 150, y = 50) def search_(): global directory, files, value1 if labPodr.winfo_viewable(): if (var.get() == 1): # u'Тут какая-то муть с кодировкой.' podr = str(rbutton_1['text']) # u'интерпритатор не понимает укр. i ' elif (var.get() == 2): # u'так что я заменил её везде на англ. i :/' podr = str(rbutton_2['text']) elif (var.get() == 3): podr = str(rbutton_3['text']) poisk = podr if labVR.winfo_viewable(): if (varVR.get() == 1): VR = str(rb1['text']) elif (varVR.get() == 2): VR = str(rb2['text']) elif (varVR.get() == 3): VR = str(rb3['text']) poisk = VR if labNom.winfo_viewable(): poisk = editNom.get() if labRab.winfo_viewable(): poisk = editRab.get() print (poisk) for i in files: if i.endswith(".doc"): print (i) f = open(i, 'r') text = f.read() if poisk in text: t1.insert(END, '(!)'+str(value1)+" "+str(poisk)+' было найдено в ' + i+'\n\n') f.close() #else: #t1.insert(END, poisk +'\nне было найдено в ' + str(directory) +'/'+ str(i)+'\n\n') t1 = Listbox(winS, width = 59, height = 10) t1.place(x = 10, y = 200) list1=[u'по подрядчику',u'по виду работ', u'по номеру',u'по объекту работ'] lab1 = Label(winS, text = u'Выбрать сортировку: ') lab1.place(x = 5, y = 20) lb1 = Listbox(winS, height = 6) lb1.place(x = 5, y = 50) lb1.bind('<<ListboxSelect>>', lb1_change) for item in list1: lb1.insert(END, item) but1 = Button(winS, text = 'search!', command = search_) but1.place(x = 330, y = 380) def dell(): t1.delete(0,END) # очистка clean = Button(winS, text = 'Очистити', command = dell ) clean.place(x = 400, y = 380) #---------------------menu_bar_winS--------------------------# menu = Menu(winS) winS.config(menu=menu) def close_this(): root.destroy() def clear_list(): t1.delete(0,END) filemenu = Menu(menu) menu.add_cascade(label="File", menu=filemenu) #filemenu.add_command(label="Open...") #filemenu.add_command(label = "Save as", command = save_as) #filemenu.add_separator() filemenu.add_command(label = "Clear", command = clear_list) filemenu.add_separator() filemenu.add_command(label="Exit", command = close_this) #--------------------menu_bar_end_winS------------------------# winS.mainloop() bSort = Button(root, text = 'Сортування', command = open_winS) bSort.place(x = 400, y = 400) root.mainloop()
Офлайн
# -*- coding: UTF-8 -*- from tkinter import * import tkinter.filedialog as fdialog from tkinter import messagebox from tkinter.messagebox import * import os root = Tk() root.geometry('800x550') root.title('Окно оформления') root.resizable(width = False, height = False) #Каталог из которого будем брать файлы (напиши свой) directory = 'C:\Python33' files = os.listdir(directory) global search_ def open_winS(): global search_ global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData global rb1, rb2, rb3, rb4, labNom, editNom global labRab, editRab, labVR, value1 winS = Toplevel(root) winS.title("search") winS.geometry("500x420") #label_111 = Label(winS, text = 'AAAAAAAA') #label_111.pack() labNom = Label(winS, text = u'введите номер:') editNom = Entry(winS) labPodr = Label(winS, text = u'выберите подрядчика:') var = IntVar() rbutton_1=Radiobutton(winS,text='ТОВ СРБУ "Полтавалiфт"',variable=var,value=1) rbutton_2=Radiobutton(winS,text='ДП "Полтавалiфт"', variable=var,value=2) rbutton_3=Radiobutton(winS,text='ПП "Полтавалiфт"', variable=var,value=3) labVR = Label(winS, text = u'выберите вид работ:') varVR = IntVar() rb1 = Radiobutton(winS, text = u'КВР', variable=varVR, value=1) rb2 = Radiobutton(winS, text = u'Монтаж, п/н', variable=varVR, value=2) rb3 = Radiobutton(winS, text = u'Проектнi роботи', variable=varVR, value=3) rb4 = Radiobutton(winS, text = u'Огляди, ЕО, атестація', variable=varVR, value=4) labRab = Label(winS, text = u" Об'єкт робiт (адреса):") editRab = Entry(winS,bd = 5, width = 35) def lb1_change(evt): global labPodr, rbutton_1, rbutton_2, rbutton_3#, labData, editData global rb1, rb2, rb3, rb4, labNom, editNom global labRab, editRab, labVR, value1 value1 = lb1.get(lb1.curselection()) if value1 == u'по подрядчику': rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labRab.place_forget() editRab.place_forget() labVR.place_forget() labPodr.place(x = 150, y = 20) rbutton_1.place(x = 150, y = 50) rbutton_2.place(x = 150, y = 80) rbutton_3.place(x = 150, y = 110) elif value1 == u'по виду работ': labPodr.place_forget() labNom.place_forget() editNom.place_forget() rbutton_1.place_forget() rbutton_2.place_forget() rbutton_3.place_forget() labRab.place_forget() editRab.place_forget() labVR.place(x = 150, y = 20) rb1.place(x = 150, y = 50 ) rb2.place(x = 150, y = 80 ) rb3.place(x = 150, y = 110 ) rb4.place(x = 150, y = 140 ) elif value1 == u'по номеру': rbutton_2.place_forget() rbutton_3.place_forget() labPodr.place_forget() rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labRab.place_forget() editRab.place_forget() labVR.place_forget() labNom.place(x = 150, y = 20) editNom.place(x = 150, y = 50, width = 70) elif value1 == u'по объекту работ': rbutton_1.place_forget() rbutton_2.place_forget() rbutton_3.place_forget() labPodr.place_forget() rb1.place_forget() rb2.place_forget() rb3.place_forget() rb4.place_forget() labNom.place_forget() editNom.place_forget() labVR.place_forget() labRab.place(x = 150, y = 20 ) editRab.place(x = 150, y = 50) def search_(): global directory, files, value1 if labPodr.winfo_viewable(): if (var.get() == 1): # u'Тут какая-то муть с кодировкой.' podr = str(rbutton_1['text']) # u'интерпритатор не понимает укр. i ' elif (var.get() == 2): # u'так что я заменил её везде на англ. i :/' podr = str(rbutton_2['text']) elif (var.get() == 3): podr = str(rbutton_3['text']) poisk = podr if labVR.winfo_viewable(): if (varVR.get() == 1): VR = str(rb1['text']) elif (varVR.get() == 2): VR = str(rb2['text']) elif (varVR.get() == 3): VR = str(rb3['text']) elif (varVR.get() == 4): VR = str(rb4['text']) poisk = VR if labNom.winfo_viewable(): poisk = editNom.get() if labRab.winfo_viewable(): poisk = editRab.get() print (poisk) for i in files: if i.endswith(".doc"): print (i) f = open(i, 'r') text = f.read() if poisk in text: t1.insert(END, '(!)'+str(value1)+" "+str(poisk)+' было найдено в ' + i+'\n\n') f.close() #else: #t1.insert(END, poisk +'\nне было найдено в ' + str(directory) +'/'+ str(i)+'\n\n') def hello(event): os.startfile("C:\Python33\Тести") # Так открывает только папку в которой файл храниться. # os.startfile('C:\Python33\Тести\'+t1.get(t1.curselection())) пытался так но не выходит. t1 = Listbox(winS, width = 59, height = 10) t1.place(x = 10, y = 200) t1.bind("<Double-Button-1>", hello) list1=[u'по подрядчику',u'по виду работ', u'по номеру',u'по объекту работ'] lab1 = Label(winS, text = u'Выбрать сортировку: ') lab1.place(x = 5, y = 20) lb1 = Listbox(winS, height = 6) lb1.place(x = 5, y = 50) lb1.bind('<<ListboxSelect>>', lb1_change) for item in list1: lb1.insert(END, item) but1 = Button(winS, text = 'search!', command = search_) but1.place(x = 330, y = 380) def dell(): t1.delete(0,END) # очистка clean = Button(winS, text = 'Очистити', command = dell ) clean.place(x = 400, y = 380) #---------------------menu_bar_winS--------------------------# menu = Menu(winS) winS.config(menu=menu) def close_this(): root.destroy() def clear_list(): t1.delete(0,END) filemenu = Menu(menu) menu.add_cascade(label="File", menu=filemenu) #filemenu.add_command(label="Open...") #filemenu.add_command(label = "Save as", command = save_as) #filemenu.add_separator() filemenu.add_command(label = "Clear", command = clear_list) filemenu.add_separator() filemenu.add_command(label="Exit", command = close_this) #--------------------menu_bar_end_winS------------------------# winS.mainloop() bSort = Button(root, text = 'Сортування', command = open_winS) bSort.place(x = 400, y = 400) root.mainloop()
Офлайн