Combining several text files
eric.shain at gmail.com
Mon Feb 2 20:45:20 CET 2009
On Feb 2, 12:17 pm, Chris Rebert <c... at rebertia.com> wrote:
> On Mon, Feb 2, 2009 at 9:48 AM, Eric <eric.sh... at gmail.com> wrote:
> > This is my first post, so please advise if I'm not using proper
> > etiquette. I've actually searched around a bit and while I think I can
> > do this, I can't think of a clean elegant way. I'm pretty new to
> > Python, but from what I've learned so far is that there is almost
> > always an easier way.
> > I have to parse several log files. I've already written a working
> > parser. The log files are simple text files that when they get to a
> > certain size are renamed to append a number. So, you might end up
> > with:
> > filename.log.2
> > filename.log.1
> > filename.log
> > The higher the number, the older the file. I want to search for all
> > the files in a directory with "filename.log" as part of their name.
> > Then I can do one of two things. First I could combine them so that
> > the resulting file ends up with the oldest on top and newest on the
> > bottom. Otherwise, I could just iterate over the multiple files within
> > my parser.
> > I don't need working code (that makes things too easy), just clear
> > suggestions to a Python newcomer to speed me on my way.
> For listing the filenames, you'll want to use os.listdir:http://docs.python.org/library/os.html#os.listdir
> or possibly the `glob` module depending on your needs:http://docs.python.org/library/glob.html
> Follow the path of the Iguana...http://rebertia.com
That wasn't too hard at all. I even found the construct:
logfile = [elem for elem in files if elem.find(ln) >= 0]
For my own interest, is there an easy way once I have the file names
to create a single concatenated file?
More information about the Python-list