943,963 Members | Top Members by Rank

Ad:
  • Python Discussion Thread
  • Marked Solved
  • Views: 1645
  • Python RSS
Mar 25th, 2006
0

Help

Expand Post »
I have been looking over Vegaseat's Word Count program. I have two thoughts about what I want to configure it to do, but I'm not sure how to go about it.


Idea 1; This is most important. I want users to be able to put a text file in the same folder as the program, then the user can input 'Random.txt' or whatever the name is, and the program does its thing.

Idea 2; I want to make a graphical interface. I guess it would be a system of check input and doing it.




JB
Reputation Points: 10
Solved Threads: 0
Newbie Poster
JoshBebbington is offline Offline
12 posts
since Mar 2006
Mar 25th, 2006
0

Re: Help

Which code snippet are you thinking of?

Wordcount of a text file (Python)
http://www.daniweb.com/code/snippet238.html
or
Word Frequency in a Text String (Python)
http://www.daniweb.com/code/snippet374.html
Moderator
Reputation Points: 1333
Solved Threads: 1403
DaniWeb's Hypocrite
vegaseat is offline Offline
5,792 posts
since Oct 2004
Mar 25th, 2006
0

Re: Help

I'm on about Wordcount of a text file (python)

Snippet 238.

Hope ya can help meh!
Reputation Points: 10
Solved Threads: 0
Newbie Poster
JoshBebbington is offline Offline
12 posts
since Mar 2006
Mar 25th, 2006
0

Re: Help

This would be the simplest way:
Python Syntax (Toggle Plain Text)
  1. filename = raw_input("Enter the name of the textfile (eg. test.txt): ")
Using a file dialog window to get a filename can be as simple as this with Tkinter:
Python Syntax (Toggle Plain Text)
  1. import tkFileDialog
  2.  
  3. filename = tkFileDialog.askopenfilename(filetypes=[("Text files","*.txt")])
  4. print filename # for testing
Just incorporate this within the snippet code and you are set.
Moderator
Reputation Points: 1333
Solved Threads: 1403
DaniWeb's Hypocrite
vegaseat is offline Offline
5,792 posts
since Oct 2004
Mar 26th, 2006
0

Re: Help

Well I've decided to rewrite into a simpler version like this:

Python Syntax (Toggle Plain Text)
  1. #!/usr/bin/python
  2. import sys
  3.  
  4. import tkFileDialog
  5.  
  6. filename = tkFileDialog.askopenfilename(filetypes=[("Text files","*.txt")])
  7. print filename
  8.  
  9. try:
  10. file = open(filename)
  11. except IOError, why:
  12. print 'Unable to open file.\n', why
  13. sys.exit(-1)
  14.  
  15. charCount = lineCount = wordCount = 0
  16.  
  17. for line in file.xreadlines():
  18. lineCount += 1
  19. wordCount += len(line.split())
  20. charCount += len(line)
  21.  
  22. print "Number of lines:"
  23. print lineCount,
  24. print "Number of Words:"
  25. print wordCount,
  26. print "Number of characters:"
  27. print charCount

I have a few more questions:

1. I can't figure out for the life of me how to go about splitting the word count onto one line, character count on another etc. Does anyone know how? EDIT: Solved. Now it's perfect in that respect.

And 2. I want to try and write it so that it doesn't rely upon the python shell, but upon tkinter, like a window.

3. I want it to quit the tkinter window when done.

4. I want to package it into an executable.

If anyone can help it would be appreciated.

Edit: Added code tags vegaseat
Last edited by vegaseat; Mar 26th, 2006 at 9:51 am.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
JoshBebbington is offline Offline
12 posts
since Mar 2006
Mar 26th, 2006
0

Re: Help

Graphics User Interface (GUI) programming isn't too difficult in Python, but you have to get used to the typical window widgets like buttons, frames, labels, entries, grids and so on.

My initial advice to you:
Get very familiar with the rudimentary Python syntax before you tackle GUI programming.

If I find some time, I will post a typical Tkinter template containing a button to load the file and a set of labels to show the result.
Moderator
Reputation Points: 1333
Solved Threads: 1403
DaniWeb's Hypocrite
vegaseat is offline Offline
5,792 posts
since Oct 2004
Mar 28th, 2006
0

Re: Help

I am trying to put the wordcount program into a callable function, WordCount(), but when I indent everything correctly, it gives me an error and highlights the rest of the line that def WordCount() is on as a problem.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
JoshBebbington is offline Offline
12 posts
since Mar 2006
Mar 29th, 2006
0

Re: Help

your putting ':' after the def WordCount() line arn't you, simple i know, but just checking...
Reputation Points: 26
Solved Threads: 24
Junior Poster
a1eio is offline Offline
140 posts
since Aug 2005

This thread is solved

Either the thread starter or a moderator has marked this thread as solved. You can most likely trust the responses and answers given. There is most likely no reason for any further responses to be posted here. If you have a related question, please start a new thread in this forum instead.

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Python Forum Timeline: Problem extracting values of a Dictionary
Next Thread in Python Forum Timeline: Sorting in Python





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC