Sniffing Text Files

skip at pobox.com skip at pobox.com
Fri Sep 23 10:14:32 EDT 2005


    David> I realize CSV module has a sniffer but it is something that is
    David> limited more or less to delimited files.  

Sure.  How about:

    def sniff(fname):
        if open(fname).read(4) == "<xml":
            return "xml"
        else:
            # assume csv - use its sniffer to generate a dialect
            return d

Of course, as the number of file formats grows, you'll need to expand the
logic.  You can also run the file(1) command and see what it says.  I seem
to recall someone asking about the equivalent to file(1) implemented in
Python awhile back.  

-- 
Skip Montanaro
Katrina Benefit Concerts: http://www.musi-cal.com/katrina
skip at pobox.com



More information about the Python-list mailing list