Moim celem jest odczytanie linii z pliku, usunięcie pustych miejsc na końcu i ponowne zapisanie w tym samym pliku. Próbowałem następujący kod:Powrót do tego samego pliku po przeczytaniu z pliku
with open(filename, 'r+') as f:
for i in f:
f.write(i.rstrip()+"\n")
To wydaje się pisać na końcu pliku, zachowując początkowe dane w pliku nienaruszonym. Wiem, że użycie f.seek(0)
spowodowałoby przeniesienie wskaźnika do początku pliku, co zakładam, że będzie w jakiś sposób wymagane dla tego rozwiązania.
Czy możesz doradzić, czy jest inne podejście do tego, czy jestem na właściwej poprawce, wystarczy dodać więcej logiki do kodu?
Dobry przykład i świetne wyjaśnienie. – misguided
Dzięki. Lubię korzystać z plików tymczasowych, nawet jeśli pamięć jest dostępna. Sprawdź również buforowany plik tymczasowy w dokumentach tempfile, co daje interesujący kompromis. – JonnyRo