Op 2013-05-22 om 08:43 schreef Mallory van Achterberg:
> On Tue, May 21, 2013 at 10:25:58PM +0200, Geert Stappers wrote:
} }  <intro/>
} > Mijn avond gaat dus beginnen met iets te programmeren wat
> >  * een kopie van een tekstbestand maakt (is tevens schrijfpermissietest)
> >  * die de kopie regel voor regel leest
> >  * en regel voor regel wegschrijft in bestand met originele naam
> >  * daarbij worden "carriage returns" weggelaten. (conversie "MS-DOS naar 
> > UNIX")
> >  * plus op het einde dan wel een "new line" wegschrijft
> > 
> 
> Dit klinkt als iets voor sed of awk. Met alleen maar re-save met
> set fileformat=unix en eof teken aan het eind.
> Of is het gedaan in Python als oefening?
> 

Ja, ook als Python oefening.

Dank voor het vertellen van het bestaan van tempfile.NamedTemporaryFile()

In de bijlage wat ik er uiteindelijk van gemaakt heb.


Groeten
Geert Stappers
-- 
Leven en laten leven
#!/usr/bin/env python

import os
import sys
import tempfile

def main():
    for filename in sys.argv[1:]:
        with tempfile.NamedTemporaryFile(delete=False, 
dir=os.path.dirname(filename)) as fh:
            with open(filename) as f:
                for line in f:
                    line = line.rstrip()
                    fh.write(line + '\n')

                # Rename the temporary file with the original file's name
                os.rename(fh.name, filename)

if __name__ == '__main__':
    main()

# l l

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Python-nl mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan