open ()

open ( file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None )

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» file ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Если Ρ„Π°ΠΉΠ» Π½Π΅ открываСтся, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка OSError. Π‘ΠΌ. Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Ρ„Π°ΠΉΠ»ΠΎΠ²Β».

file - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΠΏΡƒΡ‚ΡŒ, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ имя ΠΏΡƒΡ‚ΠΈ (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ) ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ цСлочислСнный Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ. (Если ΡƒΠΊΠ°Π·Π°Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор, ΠΎΠ½ закрываСтся ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Ссли для closefd Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False.)

mode - Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ строка, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ€Π΅ΠΆΠΈΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ открываСтся Ρ„Π°ΠΉΠ». По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это 'r', Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ для чтСния Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ распространСнными значСниями ΡΠ²Π»ΡΡŽΡ‚ΡΡ 'w' для записи (удаляСт содСрТимоС Ρ„Π°ΠΉΠ»Π°, Ссли ΠΎΠ½ ΡƒΠΆΠ΅ сущСствуСт), 'x' для ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ создания ΠΈ 'a' для добавлСния (Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах Unix ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС записи Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° нСзависимо ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ поиска). Π’ тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ссли ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: locale.getpreferredencoding (False) вызываСтся для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ языкового стандарта. (Для чтСния ΠΈ записи сырых Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ.) Доступны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹:

Π‘ΠΈΠΌΠ²ΠΎΠ» mode

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

'r'

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для чтСния (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

'w'

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для записи, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π°

'x'

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для монопольного создания, сбой, Ссли Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ сущСствуСт

'a'

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для записи, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, Ссли ΠΎΠ½ сущСствуСт

'b'

Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ

't'

тСкстовый Ρ€Π΅ΠΆΠΈΠΌ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

'+'

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для обновлСния (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись)

Π Π΅ΠΆΠΈΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - 'r' (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для чтСния тСкста, синоним 'rt'). Π Π΅ΠΆΠΈΠΌΡ‹ 'w+' ΠΈ 'w+b' ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ». Π Π΅ΠΆΠΈΠΌΡ‹ 'r +' ΠΈ 'r+b' ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ» Π±Π΅Π· усСчСния.

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² ΠΎΠ±Π·ΠΎΡ€Π΅, Python Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ тСкстовый Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄. Π€Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ 'b' Ρ€Π΅ΠΆΠΈΠΌΠ°), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ содСрТимоС ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ дСкодирования. Π’ тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° 't') содСрТимоС Ρ„Π°ΠΉΠ»Π° возвращаСтся ΠΊΠ°ΠΊ строка str, Π±Π°ΠΉΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ сначала Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с использованиСм зависящСй ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ с использованиСм ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ encoding, Ссли ΠΎΠ½Π° Π·Π°Π΄Π°Π½Π°.

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ Ρ€Π΅ΠΆΠΈΠΌΠ° 'U', ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС Π½Π΅ дСйствуСт ΠΈ считаСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ. Π Π°Π½Π΅Π΅ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π» ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ символы Π½ΠΎΠ²ΠΎΠΉ строки Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стал ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Python 3.0. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½ΠΎΠ²ΠΎΠΉ строки для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свСдСний.

Python Π½Π΅ зависит ΠΎΡ‚ прСдставлСния тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой; вся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° выполняСтся самим Python ΠΈ поэтому Π½Π΅ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

buffering - Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для установки ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ (Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅), 1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅), ΠΈ Ρ†Π΅Π»ΠΎΠ΅ число > 1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ… Π±ΡƒΡ„Π΅Ρ€Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Если Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ buffering Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ кусками фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°; Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° выбираСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ эвристики, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Β«Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°Β» Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ устройства ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ io.DEFAULT_BUFFER_SIZE. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… систСмах Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ составляСт 4096 ΠΈΠ»ΠΈ 8192 Π±Π°ΠΉΡ‚Π°.

  • Β«ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅Β» тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ (Ρ„Π°ΠΉΠ»Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… isatty () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ строк. Π”Ρ€ΡƒΠ³ΠΈΠ΅ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

encoding - это имя ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для дСкодирования ΠΈΠ»ΠΈ кодирования Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ locale.getpreferredencoding ()), Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ тСкста, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Python. Π‘ΠΌ. ΠΌΠΎΠ΄ΡƒΠ»ΡŒ codecs для получСния списка ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ.

errors - это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ строка, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ошибки кодирования ΠΈ дСкодирования - это Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Доступны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стандартныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ошибок (пСрСчислСны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ошибок»), хотя любоС имя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок, зарСгистрированноС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ codecs.register_error (), Ρ‚Π°ΠΊΠΆΠ΅ являСтся допустимым. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ названия Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

  • 'strict', Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ValueError Π² случаС ошибки кодирования. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ None ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ эффСкт

  • 'ignore' ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ошибки. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок кодирования ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

  • 'replace' Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ вставку ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° Π·Π°ΠΌΠ΅Π½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, '?') Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ искаТСнныС Π΄Π°Π½Π½Ρ‹Π΅

  • 'surrogateescape' Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² области частного использования Unicode Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ U+DC80 Π΄ΠΎ U+DCFF. Π­Ρ‚ΠΈ частныС ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ‚Π΅ ΠΆΠ΅ Π±Π°ΠΉΡ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ошибок surrogateescape. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² нСизвСстной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅

  • 'xmlcharrefreplace' поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ записи Π² Ρ„Π°ΠΉΠ». Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ссылкой Π½Π° символ XML &#nnn;

  • 'backslashreplace' замСняСт искаТСнныС Π΄Π°Π½Π½Ρ‹Π΅ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ Python с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ

  • 'namereplace' (Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ записи) замСняСт Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ символы escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ \N{...}

newline опрСдСляСт, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π½ΠΎΠ²ΠΎΠΉ строки (примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ тСкстовому Ρ€Π΅ΠΆΠΈΠΌΡƒ). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ None, '', '\n', '\r' ΠΈ '\r\n'. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°, Ссли newline ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ None, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π½ΠΎΠ²ΠΎΠΉ строки. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° '\n', '\r' ΠΈΠ»ΠΈ '\r\n', ΠΈ ΠΎΠ½ΠΈ пСрСводятся Π² '\n' ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ сторонС. Если это '', Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π½ΠΎΠ²ΠΎΠΉ строки, Π½ΠΎ окончания строк Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ сторонС Π² Π½Π΅ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Если ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ любоС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, строки Π²Π²ΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½ΠΎΠΉ строкой, Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ строки возвращаСтся Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ сторонС Π² Π½Π΅ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅

  • ΠΏΡ€ΠΈ записи Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΏΠΎΡ‚ΠΎΠΊ, Ссли newline ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ None, Π»ΡŽΠ±Ρ‹Π΅ записанныС символы '\n' пСрСводятся Π² систСмный Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ строк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, os.linesep. Если newline - '' ΠΈΠ»ΠΈ '\n', ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π΅ выполняСтся. Если символ newline являСтся Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π»ΡŽΠ±Ρ‹Π΅ написанныС символы '\n' пСрСводятся Π² Π΄Π°Π½Π½ΡƒΡŽ строку

Если closefd ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False ΠΈ Π±Ρ‹Π» Π·Π°Π΄Π°Π½ дСскриптор Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ имя Ρ„Π°ΠΉΠ»Π°, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ дСскриптор Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°. Если ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя Ρ„Π°ΠΉΠ»Π°, closefd Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ настраиваСмый ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² качСствС opener. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°Ρ‚Π΅ΠΌ получаСтся ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° opener с (file, flags). opener Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ дСскриптор ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° os.open Π² качСствС opener ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ None).

Π’Π½ΠΎΠ²ΡŒ созданный Ρ„Π°ΠΉΠ» Π½Π΅ наслСдуСтся.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ dir_fd Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ os.open () для открытия Ρ„Π°ΠΉΠ»Π°, относящСгося ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ:

>>> import os
>>> dir_fd = os.open('somedir', os.O_RDONLY)
>>> def opener(path, flags):
...     return os.open(path, flags, dir_fd=dir_fd)
...
>>> with open('spamspam.txt', 'w', opener=opener) as f:
...     print('This will be written to somedir/spamspam.txt', file=f)
...
>>> os.close(dir_fd)  # don't leak a file descriptor

Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ open (), зависит ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ°. Когда open () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для открытия Ρ„Π°ΠΉΠ»Π° Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ('w', 'r', 'wt', 'rt' ΠΈ Ρ‚. Π΄.), Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ подкласс io.TextIOBase (Π² частности, io.TextIOWrapper). ΠŸΡ€ΠΈ использовании для открытия Ρ„Π°ΠΉΠ»Π° Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ класс являСтся подклассом io.BufferedIOBase. Π’ΠΎΡ‡Π½Ρ‹ΠΉ класс Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ: Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ чтСния ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ io.BufferedReader; Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… записи ΠΈ добавлСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ io.BufferedWriter, Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ чтСния/записи Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ io.BufferedRandom. Когда буфСризация ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, возвращаСтся Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, подкласс io.RawIOBase, io.FileIO.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ fileinput, io (Π³Π΄Π΅ объявлСн open ()), os, os.path, tempfile ΠΈ shutil.

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ событиС Π°ΡƒΠ΄ΠΈΡ‚Π° open с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ file, mode, flags.

АргумСнты mode ΠΈ flags ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ ΠΈΠ· исходного Π²Ρ‹Π·ΠΎΠ²Π°.

ИзмСнСно Π² вСрсии 3.3:

  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ opener

  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ 'x'

  • Ρ€Π°Π½ΡŒΡˆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»Π°ΡΡŒ ошибка IOError, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это псСвдоним OSError

  • FileExistsError Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Ρ„Π°ΠΉΠ», ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π² монопольном Ρ€Π΅ΠΆΠΈΠΌΠ΅ создания ('x'), ΡƒΠΆΠ΅ сущСствуСт.

ИзмСнСно Π² вСрсии 3.4:

  • Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„Π°ΠΉΠ» Π½Π΅ наслСдуСтся

УстарСло с вСрсии 3.4, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² вСрсии 3.9: Ρ€Π΅ΠΆΠΈΠΌ 'U'.

ИзмСнСно Π² вСрсии 3.5:

  • Ссли систСмный Π²Ρ‹Π·ΠΎΠ² прСрываСтся ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сигнала Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, функция Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ повторяСт систСмный Π²Ρ‹Π·ΠΎΠ² вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ InterruptedError (объяснСниС см. Π² PEP 475).

  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ошибок 'namereplace'

ИзмСнСно Π² вСрсии 3.6:

  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° для принятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… os.PathLike

  • Π² Windows ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ консольного Π±ΡƒΡ„Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ подкласс io.RawIOBase, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ io.FileIO

Last updated

Was this helpful?