Chcę wykonać podstawowe filtrowanie pliku. Przeczytaj to, przetwarzaj, zapisz.Otwórz plik, przeczytaj go, przetwórz i odpisz - najkrótsza metoda w Pythonie
Nie szukam "golfa", ale chcę najprostszej i najbardziej eleganckiej metody, aby to osiągnąć. Wpadłem:
from __future__ import with_statement
filename = "..." # or sys.argv...
with open(filename) as f:
new_txt = # ...some translation of f.read()
open(filename, 'w').write(new_txt)
Oświadczenie with
sprawia, że rzeczy krótsze, ponieważ nie trzeba jawnie otwarte i zamknij plik.
Jakieś inne pomysły?
Bardzo ładne, dzięki za wskazanie tej opcji. Możesz także użyć funkcji filelineno() z fileinput, aby automatycznie uzyskać numer wiersza, nie licząc go samodzielnie. –
Aha, i zapomniałeś przecinka po wydruku - kod dodaje dodatkowe znaki nowej linii :-) –
Dzięki za złapanie tego - zmieniłem przykład. – Hortitude