Ooops, a part of my code was missing, sorry about that. Here is it again, complete.
def parseText(): # oFile: text file to test # myWord: word we are looking for # Get all lines into list aLines = oFile.readlines() # Perform list comprehension on lines to test if the word is found for sLine in aLines: # Parse the line (remove spaces), returns list aLine = sLine.split() # Iterate words and test to see if they match our word for sWord in aLines: # if it matches, append it to our list if sWord == myWord: aWords.append( sWord ) # Create empty list to store all instances of the word that we may find aWords = [] # Prompt user to know what word to search myWord = str( raw_input( 'what word to searh:' ) ) # Call function parseText() # Check if list has at least one element if len( aWords ) < 1: print 'Word not found in file' else: print str( len( aWords ) ) + ' instances of our word found in file' Sorry again Bernard On 5/18/05, Bernard Lebel <[EMAIL PROTECTED]> wrote: > Hi Joseph, > > To answer your last question first, you should use the > os.path.exsits() method to see if the path is valid: > http://www.python.org/doc/2.4.1/lib/module-os.path.html > > As for finding a word in a text, I would suggest to write a basic text > parser that would work on small files. > > def parseText(): > > # oFile: text file to test > # myWord: word we are looking for > > # Get all lines into list > aLines = oFile.readlines() > > # Perform list comprehension on lines to test if the word is found > for sLine in aLines: > > # Parse the line (remove spaces), returns list > aLine = sLine.split() > > # Iterate words and test to see if they match our word > for sWord in aLines: > # if it matches, append it to our list > if sWord == myWord: aWords.append( sWord ) > > # Create empty list to store all instances of the word that we may find > aWords = [] > > # Prompt user to know what word to search > myWord = str( raw_input( 'what word to searh:' ) ) > > Note that I'm still new to Python, there might be more efficient ways > to do that. > > For larger text files (in the order of thousands of lines), you may > not use readlines() to build a list of the lines and insteand read one > line after another with readline() or xreadline() and append to the > list as you find the word. > > Cheers > Bernard > > > On 5/18/05, Joseph Quigley <[EMAIL PROTECTED]> wrote: > > I'm making a program that opens a file and tries to find the word you > > specify. > > I can't get it to find the word! I also would like to know how I can get > > it to print 2 lines above and 2 lines below the line with the word > > specified. > > One more thing, the try: IOError won't work... I type the name of a > > nonexistent file and the except won't kick in and print my error message! > > Not to mention the program is killed. How can i fix that? > > Thanks, > > JQ > > > > Full Code: > > > > while True: > > file_name = raw_input("Enter the full file name: ") > > f = file(file_name, 'r') > > try: > > IOError > > except: > > print "File not found. Directories are not supported" > > > > while True: > > line = f.readline() > > if len(line) == 0: > > break > > find_word = raw_input("What word do you want to find (quit() to > > quit)?\n> ") > > if find_word in file_name: > > print f.readline(find_word) > > elif find_word == "quit()": > > break > > print line, > > f.close() > > > > close = raw_input("\n\nQuit program? (Y/N)> ") > > if ((close == "Y") or ("y" == close)): > > break > > else: > > print > > > > _______________________________________________ > > Tutor maillist - Tutor@python.org > > http://mail.python.org/mailman/listinfo/tutor > > > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor