Я пытаюсь прочитать содержимое файла в одном вызове метода.
Я не хочу беспокоиться об открытии файла, чтении из файла и закрытии файла (3 вызова метода).
Мне просто нужен контент.
В рубине есть File.read( "/path/to/file" ), который возвращает содержимое этого файла и правильно закрывает его. Есть ли эквивалент в Python?
Вы можете объединить две инструкции для получения того же поведения:/. Но тогда файл неправильно закрыт.
file = open("/path/to/file","r").read()
изменить: Лучший вариант, насколько мне известно, оставляет вам 2/3, о котором вы упоминаете. Просто используйте оператор with, поэтому вам не нужно беспокоиться о закрытии указанного файла.
with open("/path/to/file","r") as file:
text = file.read()
Вы можете использовать Контекстный менеджер в Python, который доступен на Python 2.5.
with open('yourfile') as f:
contents = f.read()
Он автоматически откроет и закроет файл для вас. Режим по умолчанию - "r", который обозначает чтение.
В Python нет такой функции. Это достаточно просто, чтобы определить один.
def read_whole_file(path):
with open(path) as f:
return f.read()