P: 17
|
when I wont to inser (anyting I print) to the textbox it will not inser
it just print then hanging - # 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()
code try to insert to the textbox - print "%s times: %s" % tup
-
text1.insert(tk.INSERT, freq)
-
text1.insert(tk.INSERT, word)
-
text1.insert(tk.INSERT, "\n")
when I wont to insert file name and directory to the textbox it will hang also
code is comment - 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))
| |