"S.B" writes: > Hello friends. > > Newb question here. > I'm trying to find an efficient way to "grep" a file with python. > The problem is that all the solutions I find on the web read a line > at a time from the file with a "for line in" loop and check each > line for the RE instead of sweeping through the entire file. > This looks terribly inefficient... > > I can read the entire file like so: > open("/etc/passwd").read() > and use that in an re.search - e.g: > re.search("root",open("/etc/passwd").read()) > The above will work BUT it will not interpolate the "\n" as a > newline and will just print the entire file as a long line. > So if I try to look for '^root' (line starting with root) instead of > 'root' it will NOT work > > any ideas on how to get around this?
Check MULTILINE mode in the documentation: ^ "Matches the start of the string, and in MULTILINE mode also matches immediately after each newline." -- http://mail.python.org/mailman/listinfo/python-list