W Rubim możesz czytać z pliku za pomocą s = File.read(filename). Najkrótszy i najbardziej przejrzysty, jaki znam w Pythonie, to
with open(filename) as f:
s = f.read()
Czy jest jakiś inny sposób, aby to zrobić, aby był jeszcze krótszy (najlepiej jedna linia) i bardziej czytelny?
Uwaga: początkowo sformułowałem pytanie jako „robię to w jednej linii kodu”. Jak zauważył S.Lott, krótszy nie musi oznaczać bardziej czytelnego. Więc przeformułowałem moje pytanie, aby wyjaśnić, co mam na myśli. Myślę, że kod Ruby jest lepszy i bardziej czytelny niekoniecznie dlatego, że jest to jedna linia kontra dwie (choć to też ma znaczenie), ale także dlatego, że jest to metoda klasowa w przeciwieństwie do metody instancji, która nie stawia pytania o to, kto zamyka plik, jak upewnić się, że zostanie zamknięty, nawet jeśli zostanie zgłoszony wyjątek itp. Jak wskazano w poniższych odpowiedziach, możesz polegać na GC, aby zamknąć plik (czyniąc go tym samym jednowierszowym), ale to jeszcze bardziej pogarsza kod chociaż jest krótszy. Nie tylko dlatego, że nie da się go przenosić, ale też czyniąc to niejasnym.