cmiN Posted January 9, 2009 Report Share Posted January 9, 2009 Un mic tool care citeste fisiere .txt .xml .doc etc (sa fie bazate pe text) care contin chei si cuvinte (de exemplu usere si parole) separate prin ":" unele de altele. Dupa ce le citeste poti afla ce cuvant apartine cheii dorite sau ce cheie apartine cuvantului respectiv. E facut mai mult pentru gui ca de abia invat sa fac interfete in python si e un fel de beta pentru ca vreau sa-l optimizez si sa-i fac cat mai multe optiuni / tipuri de separatoare / A.I. etc. Astept pareri si propuneri:Nu l-am facut executabil pentru ca nu a aparut py2exe inca pentru versiunea 3.0download Python 3.0http://pastebin.com/f6ac7d998#! /usr/bin/env python3.0# -*- coding: cp1252 -*-# by cmiN for sharky from tkinter import *from tkinter import filedialogfrom tkinter import messageboxdef frames(): global root root=Tk() frame=Frame(root) menu=Menu(root) root.config(menu=menu) filemenu=Menu(menu) menu.add_cascade(label='File', menu=filemenu) filemenu.add_command(label='Open', command=open_list) filemenu.add_separator() filemenu.add_command(label='Exit', command=bye) helpmenu=Menu(menu) menu.add_cascade(label='Help', menu=helpmenu) helpmenu.add_command(label='About...', command=msgbox1)def bye(): root.destroy()def create_widgets(): global content1, content2, text1, ext2, message3 message1=Label(text='Key/Word: ') message1.pack(side='top',anchor='n') content1=StringVar() content1.set('Enter your string...') text1=Entry(fg='grey', bg='white', textvariable=content1) text1.pack(side='top',fill='x') text1.bind('<Button-1>', clear_text) text1.bind('<Key>', clear_text) message2=Label(text='Key/Word: ') message2.pack() content2=StringVar() content2.set('') text2=Entry(fg='red', bg='grey', textvariable=content2) text2.pack(fill='x') text2.bind('<Key>', clear_text) button2=Button(text='Search', command=search) button2.pack() message3=Label(text='Status: Waiting') message3.pack(side='bottom', anchor='sw') button1=Button(text='Exit', bg='cyan', fg='red', command=bye) button1.pack(side='bottom', anchor='se')def clear_text(event): text1['fg']='black' if content1.get()=='Enter your string...': content1.set('')def open_list(): try: global txt_list, txt ftypes=[('Text Documents', '*.txt'), ('Word Documents', '*.doc'), ('XML Files', '*.xml')] txt_list=filedialog.askopenfile(parent=root, mode='r', title='Chose a .txt file', filetypes=ftypes) txt=txt_list.readlines() except: messagebox.showerror('File Error', 'Failed to open file')def msgbox1(): messagebox.showinfo('About', 'Keyword finder v1.0\n\\n\This program will open a text based file and find the word for a key or the key for that word\n\\n\Usage: Click File -> Open -> select a file -> input some text -> click search\n\Supported separators: " : "\n\Ex: something:1154aad24b\n\\n\\n\Copyright © 2009. All rights reserved. "cmiN"')def search(): message3['text']='Status: Searching... (please wait)' try: statement=False for kw in txt: nr=kw.index(':') if content1.get()==kw[:nr]: if kw[-1]=='\n': content2.set(kw[1+nr:-1]) else: content2.set(kw[1+nr:]) statement=True elif content1.get()==kw[1+nr:] or content1.get()+'\n'==kw[1+nr:]: content2.set(kw[:nr]) statement=True else: pass if not statement is True: content2.set(' Nothing finded... ') except: message3['text']='Status: Error -> Invalid file or list! (please read About)' content2.set(" Can't find... ") else: message3['text']='Status: The operation completed successfully!'def end(): root.title('Keyword finder') root.minsize(330,200) root.maxsize(600,200) root.mainloop()frames()create_widgets()end() Quote Link to comment Share on other sites More sharing options...