Python/Учебник Python 2.6: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 2060:
''</source>
 
<code>f.readline()</code> читает одну строку из файла; символ новой строки (<code>\n</code>) остаётся в конце прочитанной строки и отсутствует при чтении последней строки файла только если файл не оканчивается пустой строкой. Засчёт этого возращаемоевозвращаемое значение становится недвусмысленным: если <code>f.readline()</code> возвращает пустую строку — достигнут конец файла, в то же время незаполненная строка, представленная посредством <code>'\n'</code>, содержит лишь символ новой строки.<ref>''(Прим. перев.)'' В источнике, в большинстве случаев, разделяется понятие ''строки'' как типа данных и ''строки'' как строки текста (ср., ''строчка'') засчёт слов ''string'' и ''line'' соответственно. В русском языке это различие передать сложно, тем не менее я старался по возможности избежать двусмысленностей.</ref>
 
<source lang="python">>>> f.readline()
Строка 2113:
ValueError: I/O operation on closed file</source>
 
Считается хорошей манерой использовать ключевое слово <code>with</code> при работе с объектами файлов. Преимущество этого способа в том, что файл всегда корректно закрывается после выполнения блока, либо если при выполениивыполнении было порождено исключение. Кроме того, получающийся код намного короче, чем эквивалентная форма с блоками <tt><code>try</code>-<code>finally</code></tt>:
 
<source lang="python">>>> with open('/tmp/workfile', 'r') as f: