>> I have to search for a string on a big file. Once this string >> is found, I would need to get the number of the line in which >> the string is located on the file. Do you know how if this is >> possible to do in python ? > > This should be reasonable: > >>>> for num, line in enumerate(open("/python25/readme.txt")): > if "Guido" in line: > print "Found Guido on line", num > break > > > Found Guido on line 1296
Just a small caveat here: enumerate() is zero-based, so you may actually want add one to the resulting number: s = "Guido" for num, line in enumerate(open("file.txt")): if s in line: print "Found %s on line %i" % (s, num + 1) break # optionally stop looking Or one could use a tool made for the job: grep -n Guido file.txt or if you only want the first match: sed -n '/Guido/{=;p;q}' file.txt -tkc -- http://mail.python.org/mailman/listinfo/python-list