В Ruby вы можете читать из файла, используя s = File.read(filename). Самый короткий и ясный, который я знаю в Python, это
with open(filename) as f:
s = f.read()
Есть ли другой способ сделать это еще короче (желательно на одну строку) и более читабельным?
Примечание: изначально я сформулировал вопрос как «сделать это одной строкой кода». Как указал С.Лотт, короче не обязательно означает более читабельный. Поэтому я перефразировал свой вопрос, чтобы прояснить, что я имел в виду. Я думаю, что код Ruby лучше и читабельнее не обязательно потому, что это одна строка против двух (хотя это тоже имеет значение), но также потому, что это метод класса, а не метод экземпляра, который не ставит вопроса о том, кто закрывает файл, как убедиться, что он закрывается, даже если возникает исключение и т. д. Как указано в ответах ниже, вы можете положиться на GC, чтобы закрыть ваш файл (таким образом, делая его однострочным), но это еще больше ухудшает код правда короче. Не только потому, что он непереносимый, но и из-за того, что это неясно.