it just print then hanging
Expand|Select|Wrap|Line Numbers
- # a look at the Tkinter Text widget
- # use ctrl+c to copy, ctrl+x to cut selected text,
- # ctrl+v to paste, and ctrl+/ to select all
- # count words in a text and show the first ten items
- # by decreasing frequency
- import Tkinter as tk
- import os, glob
- import sys
- import string
- import re
- import tkFileDialog
- def most_frequant_word():
- browser= tkFileDialog.askdirectory()
- #browser= os.listdir(a)
- for root, dirs, files in os.walk(browser):
- print 'Looking into %s' % root.split('\\')[-1]
- print 'Found %d dirs and %d files' % (len(dirs), len(files))
- #text1.insert(tk.INSERT,'Looking into %s' % root.split('\\')[-1])
- #text1.insert(tk.INSERT, 'Found %d dirs and %d files' % (len(dirs), len(files)))
- for idx, file in enumerate(files):
- print 'File #%d: %s' % (idx + 1, file)
- #text1.insert(tk.INSERT, 'File #%d: %s' % (idx + 1, file))
- ff = open (os.path.join(root, file), "r")
- text = ff.read ( )
- ff.close ( )
- word_freq = {}
- word_list = text.strip().split()
- for word in word_list:
- word = word.lower().rstrip('.,/"-_;\\[]()')
- if word.isalpha():
- # build the dictionary
- count = word_freq.get(word, 0)
- word_freq[word] = count + 1
- # create a list of (freq, word) tuples
- freq_list = [(freq, word) for word, freq in word_freq.items()]
- # sort the list by the first element in each tuple (default)
- freq_list.sort(reverse=True)
- for n, tup in enumerate(freq_list):
- # print the first ten items
- if n < 50:
- print "%s times: %s" % tup
- text1.insert(tk.INSERT, freq)
- text1.insert(tk.INSERT, word)
- text1.insert(tk.INSERT, "\n")
- raw_input('\nHit enter to exit')
- root = tk.Tk(className = " most_frequant_word")
- # text entry field, width=width chars, height=lines text
- v1 = tk.StringVar()
- text1 = tk.Text(root, width=50, height=20, bg='green')
- text1.pack()
- # function listed in command will be executed on button click
- button1 = tk.Button(root, text='Brows', command=most_frequant_word)
- button1.pack(pady=5)
- text1.focus()
- root.mainloop()
Expand|Select|Wrap|Line Numbers
- print "%s times: %s" % tup
- text1.insert(tk.INSERT, freq)
- text1.insert(tk.INSERT, word)
- text1.insert(tk.INSERT, "\n")
code is comment
Expand|Select|Wrap|Line Numbers
- print 'Looking into %s' % root.split('\\')[-1]
- print 'Found %d dirs and %d files' % (len(dirs), len(files))
- #text1.insert(tk.INSERT,'Looking into %s' % root.split('\\')[-1])
- #text1.insert(tk.INSERT, 'Found %d dirs and %d files' % (len(dirs), len(files)))
- for idx, file in enumerate(files):
- print 'File #%d: %s' % (idx + 1, file)
- #text1.insert(tk.INSERT, 'File #%d: %s' % (idx + 1, file))