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
signature.asc
Description: Digital signature
_______________________________________________ Python-nl mailing list [email protected] http://mail.python.org/mailman/listinfo/python-nl
