«
Yet Another Line Ending Conversion Program
»
This is what I've been using.. it's really simple, and should convert Win32, Mac, or Unix line endings to whatever your native line ending is. A possible future optimization would be to use temp files instead, but they're annoying.
#!/usr/bin/env python import sys, os, shutil from cStringIO import StringIO def tonative(fname): buff = StringIO() infile = file(fname, 'rU') infile.readline() infile.seek(0) if infile.newlines == os.linesep: return for line in infile: buff.write(line.strip() + os.linesep) infile.close() outfile = file(fname, 'wb') buff.seek(0) shutil.copyfileobj(buff, outfile) outfile.close() if __name__ == '__main__': for fname in sys.argv[1:]: tonative(fname)