On Jun 5, 7:50 am, kj <no.em...@please.post> wrote: > Hi. I need to implement, within a Python script, the same > functionality as that of Unix's > > grep -rl some_string some_directory > > I.e. find all the files under some_directory that contain the string > "some_string". > > I imagine that I can always resort to the shell for this, but is > there an efficient way of doing it within Python? > > (BTW, portability is not high on my list here; this will run on a > Unix system, and non-portable Unix-specific solutions are fine with > me.) > > TIA! > --
You can write your own version of grep in python using os.walk, open, read and find. I don't know why one would want to do that unless for portability reasons. It will be pretty hard to beat grep in efficiency and succinctness. The most sensible thing IMHO is a shell script or call grep using os.system (or using subprocess). -- http://mail.python.org/mailman/listinfo/python-list