Это приведет к тому, что в Python содержимое будет записано в одну строку 2.6 1 и выше:
with open('x.txt') as x: f = x.read()
И это создаст список строк:
with open('x.txt') as x: f = x.readlines()
Эти подходы гарантируют немедленное закрытие входного файла сразу после чтения.
Сноска:
- Этот подход также может быть использован в Python 2.5 с использованием
from __future__ import with_statement
.
Более старый подход, который не не гарантирует немедленное закрытие, заключается в использовании этого для создания одной строки:
f = open('x.txt').read()
И это для создания списка строк:
f = open('x.txt').readlines()
На практике он будет немедленно закрыт в некоторых версиях CPython, но закрыт "только когда сборщик мусора доберется до него" в Jython, IronPython и, возможно, в некоторых будущих версиях CPython.