Need to create a function with two params, a filename to open and a pattern.
The pattern will be a search string.
Eg. the function will open sentence.txt that has something like “The quick brown fox” (can possibly be more than one line)
The pattern will be “brown fox”
So if found, as this will be, it should return a line number and index of the character the found string starts on. Else, return -1.
Catch is I’ve never programmed in python before so I don’t know the syntax.
Previously coded in C, C#, Java, VB, etc..
EDIT:
…..Id
…..Name
#
my intent was for you to write HW3 code as iteration or
nested iterations that explicitly index the character
string as an array; i.e, the Python index() also known as
string.index() function is not allowed for this homework.
#
filename = raw_input(‘Enter filename: ‘)
pattern = raw_input(‘Enter pattern: ‘)
def findPattern(fname, pat):
Reading in one whole chunk
filetext = open(fname).read()
if pat in filetext:
print("Found it -- chunk")
else:
print("Nothing -- chunk")
Reading in line by line
for search in open(fname):
if pat in search:
print("Found it -- line")
else:
print("Nothing -- line")
findPattern(filename, pattern)
Here’s a very simple grep. You could hack it out to use regular expressions pretty trivially. globbing wouldn’t be much more difficult with glob. Also, the code you want is in there spread between
grepandmainso that might be of more interest than a custom grep 😉Note that I haven’t tested this code so there might be slight bugs. If it compiles, it should run fine though.
Also, you should tell your teacher that signalling failure with return codes is a terrible way to do things. If the caller of the function that you’re going to write needs to know if no matches were found, it can just check for an empty list.