У Ruby ви можете читати з файлу за допомогою s = File.read(filename). Найкоротший і зрозумілий, який я знаю в Python, - це
with open(filename) as f:
s = f.read()
Чи є інший спосіб зробити це, що робить його ще коротшим (бажано один рядок) і більш читабельним?
Примітка: спочатку я сформулював запитання як "робити це в одному рядку коду". Як зазначив С. Лотт, коротше не обов’язково означає більше читабельність. Тож я переформулював своє запитання лише для того, щоб зрозуміти, що я мав на увазі. Я думаю, що код Ruby є кращим і зручнішим для читання, не обов'язково тому, що це один рядок проти двох (хоча це теж важливо), але також тому, що це метод класу на відміну від методу екземпляра, який не ставить під сумнів питання про те, хто закриває файл, як переконатися, що він закривається, навіть якщо виняток винятком тощо. Як зазначено у відповідях нижче, ви можете покластися на GC, щоб закрити ваш файл (тим самим роблячи це одношаровим вкладишем), але це ще більше погіршує код хоча це коротше. Не лише тим, що вони не переносяться, але й роблять це незрозумілим.