>> 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

Reply via email to