How to inser (anyting I print) to the textbox (TKinter) ?try but it hang? pleas help

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alivip
    New Member
    • Mar 2008
    • 17

    How to inser (anyting I print) to the textbox (TKinter) ?try but it hang? pleas help

    when I wont to inser (anyting I print) to the textbox it will not inser
    it just print then hanging

    Code:
    # 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
    Code:
    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
    Code:
    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))
  • jlm699
    Contributor
    • Jul 2007
    • 314

    #2
    Please stop spamming the forum with multiple posts of the same question. It would also be very helpful if you could clarify your questions further, as they are not always easy to understand.

    Your problem here is that you are not adapting the code that we have provided for you to work for your own purposes. You're simply copying and pasting without bothering to understand what the code is doing.

    I have fixed the code that you posted, but I won't bother posting it. After figuring out the blatant syntax errors, all I had to do was remove the raw_input("Hit enter to exit") line. Which leads me to believe you didn't take the time to figure out what purpose that line served.

    Additionally, "frequant" and "brows" should be frequent and browse.

    Comment

    • alivip
      New Member
      • Mar 2008
      • 17

      #3
      Firstly thank you very much for your help

      Secondly I am really sorry for madding you angry

      Thirdly I promise I will not do it again

      Comment

      Working...