[python-nl] dpkg-source: warning: file Foo.txt has no final newline

Geert Stappers stappers at stappers.nl
Fri May 24 15:01:14 CEST 2013


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
------------- volgend deel ------------
#!/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
------------- volgend deel ------------
Een niet-tekst bijlage is gescrubt...
Naam: signature.asc
Type: application/pgp-signature
Grootte: 198 bytes
Omschrijving: Digital signature
URL : <http://mail.python.org/pipermail/python-nl/attachments/20130524/263e28cb/attachment.pgp>


More information about the Python-nl mailing list