os

Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчиваСт пСрСносимый способ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, зависящих ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Если Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», см. open( ), Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ путями, см. ΠΌΠΎΠ΄ΡƒΠ»ΡŒ os.path, Π° Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС строки Π²ΠΎ всСх Ρ„Π°ΠΉΠ»Π°Ρ… Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, см. ΠΌΠΎΠ΄ΡƒΠ»ΡŒ fileinput . Для создания Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² см. ΠΌΠΎΠ΄ΡƒΠ»ΡŒ tempfile, Π° для высокоуровнСвой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² см. ΠΌΠΎΠ΄ΡƒΠ»ΡŒ shutil.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ доступности Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

  • Π”ΠΈΠ·Π°ΠΉΠ½ всСх встроСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python, зависящих ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚Π°ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ, ΠΏΠΎΠΊΠ° доступна ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функция os.stat (path) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡƒΡ‚ΠΈ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ оказалось, Π²ΠΎΠ·Π½ΠΈΠΊ ΠΈΠ· интСрфСйса POSIX).

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚Π°ΠΊΠΆΠ΅ доступны Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ os, Π½ΠΎ ΠΈΡ… использованиС, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡƒΠ³Ρ€ΠΎΠΆΠ°Π΅Ρ‚ пСрСносимости.

  • ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ строковыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ приводят ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, Ссли возвращаСтся ΠΏΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ имя Ρ„Π°ΠΉΠ»Π°.

  • Π’ VxWorks os.fork, os.execv ΠΈ os.spawn*p* Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² этом ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ OSError (ΠΈΠ»ΠΈ Π΅Π΅ подклассы) Π² случаС нСдопустимых ΠΈΠ»ΠΈ нСдоступных ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой.

  • os.error exception

  • os.name ()

ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ², Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды

Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ процСссом ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

  • os.ctermid ()

  • os.environ - ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния

  • os.environb

  • os.chdir () - функция описана Π½ΠΈΠΆΠ΅

  • os.fchdir ()

  • os.getcwd () - функция описана Π½ΠΈΠΆΠ΅

  • os.fsencode ()

  • os.fsdecode ()

  • os.fspath ()

  • os.PathLike class

  • os.getenv () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды

  • os.getenvb ()

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.getpid () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса

  • os.getppid () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ процСсса

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.putenv () - Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.uname ()

  • os.unsetenv ()

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. (см. Ρ‚Π°ΠΊΠΆΠ΅ os.open () для открытия Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскрипторов.)

  • os.fdopen () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, связанный с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ дСскриптором

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ дСскрипторы.

ДСскрипторы Ρ„Π°ΠΉΠ»ΠΎΠ² - это нСбольшиС Ρ†Π΅Π»Ρ‹Π΅ числа, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ процСссом. НапримСр, стандартный Π²Π²ΠΎΠ΄ - это дСскриптор Ρ„Π°ΠΉΠ»Π° 0, стандартный Π²Ρ‹Π²ΠΎΠ΄ - 1, Π° стандартная ошибка - 2. Π”Π°Π»Π΅Π΅ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ процСссом, Π±ΡƒΠ΄ΡƒΡ‚ присвоСны 3, 4, 5 ΠΈ Ρ‚. Π΄. НазваниС Β«Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ°Π½Ρ‡ΠΈΠ²ΠΎ; Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Unix Π½Π° сокСты ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ дСскрипторы.

ΠŸΡ€ΠΈ нСобходимости ΠΌΠ΅Ρ‚ΠΎΠ΄ fileno () ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для получСния дСскриптора Ρ„Π°ΠΉΠ»Π°, связанного с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ использованиС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΎΠ±Ρ…ΠΎΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, игнорируя Ρ‚Π°ΠΊΠΈΠ΅ аспСкты, ΠΊΠ°ΠΊ внутрСнняя буфСризация Π΄Π°Π½Π½Ρ‹Ρ….

  • os.close () - Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор

  • os.closerange ()

  • os._copy_file_range ()

  • os.device_encoding ()

  • os.dup ()

  • os.dup2 () - ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.fstat ()

  • os.fstatvfs ()

  • os.fsync ()

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.isatty () - ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ tty?

  • os.lockf ()

  • os.F_LOCK

  • os.F_TLOCK

  • os.F_ULOCK

  • os.F_TEST

  • os.lseek () - устанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора

  • os.SEEK_SET - ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ os.lseek ()

  • os.SEEK_CUR - ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ os.lseek ()

  • os.SEEK_END - ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ os.lseek ()

  • os.open () - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»

  • os.openpty ()

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.pipe () - создаСт ΠΊΠ°Π½Π°Π» ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскрипторов

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.read () - Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.write () - записываСт Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор

  • os.writev ()

На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Unix ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… возмоТностСй:

  • ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ дСскриптора Ρ„Π°ΠΉΠ»Π°: ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΡƒΡ‚ΠΈ path, прСдоставляСмый функциям Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ os, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ строкой, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ дСскриптор ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° path. Π—Π°Ρ‚Π΅ΠΌ функция Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся дСскриптор. (Для систСм POSIX Python Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с прСфиксом f (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ fchdir вмСсто chdir).) Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ path ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ os.supports_fd. Если эта функция нСдоступна, Π΅Π΅ использованиС Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ NotImplementedError. Если функция Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ dir_fd ΠΈΠ»ΠΈ follow_symlinks, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ Π² качСствС дСскриптора Ρ„Π°ΠΉΠ»Π° являСтся ошибкой.

  • ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дСскрипторов ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²: Ссли dir_fd Π½Π΅ Ρ€Π°Π²Π½ΠΎ None, это Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ дСскриптор Ρ„Π°ΠΉΠ»Π°, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π° ΠΏΡƒΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ; Ρ‚ΠΎΠ³Π΄Π° ΠΏΡƒΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ этому ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ. Если ΠΏΡƒΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ, dir_fd игнорируСтся. (Для систСм POSIX Python Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с суффиксом at ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, с прСфиксом f (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π·ΠΎΠ² faccessat вмСсто access). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, поддСрТиваСтся Π»ΠΈ dir_fd для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ os.supports_dir_fd. Если ΠΎΠ½ нСдоступСн, Π΅Π³ΠΎ использованиС Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ NotImplementedError.

  • Π½Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ символичСским ссылкам: Ссли follow_symlinks ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Π° послСдний элСмСнт ΠΏΡƒΡ‚ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся символичСской ссылкой, функция Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с самой символичСской ссылкой, Π° Π½Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ссылка. (Для систСм POSIX Python Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ l... Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, поддСрТиваСтся Π»ΠΈ follow_symlinks для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ os.supports_follow_symlinks. Если ΠΎΠ½ нСдоступСн, Π΅Π³ΠΎ использованиС Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ NotImplementedError.

ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для использования с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ дирСкториями:

  • os.access ()

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.chdir () - измСняСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° Π·Π°Π΄Π°Π½Π½ΡƒΡŽ

  • os.chflags ()

  • os.chmod () - измСняСт Ρ€Π΅ΠΆΠΈΠΌ доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ

  • os.chown () - измСняСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°/Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»Π°

  • os.chroot ()

  • os.fchdir ()

  • os.getcwd () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

  • os.getcwdb ()

  • os.lchflags ()

  • os.lchmod ()

  • os.lchown ()

  • os.link ()

  • os.listdir () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список, содСрТащий ΠΈΠΌΠ΅Π½Π° записСй Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅

  • os.lstat ()

  • os.mkdir ()

  • os.makedirs ()

  • os.mkfifo () - создаСт ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.remove () - удаляСт Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ (синоним unlink () )

  • os.removedirs ()

  • os.rename () - ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

  • os.renames ()

  • os.replace ()

  • os.rmdir ()

  • os.scandir ()

  • os.DirEntry class

  • os.stat () - ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π΅

  • os.stat_result class - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‡Π»Π΅Π½Π°ΠΌ stat

  • os.statvfs ()

  • os.supports_dir_fd

  • os.supports_effective_ids

  • os.supports_fd

  • os.supports_follow_symlinks

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.unlink () - удаляСт Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ (синоним remove () )

  • os.utime ()

  • os.walk () - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Ρ„Π°ΠΉΠ»ΠΎΠ²/ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² рСкурсивного ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

  • os.fwalk ()

  • os.memfd_create ()

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания процСссов ΠΈ управлСния ΠΈΠΌΠΈ.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ exec* ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ Π² процСсс. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ случаС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· этих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² пСрСдаСтся Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠ°ΠΊ Π΅Π΅ собствСнноС имя, Π° Π½Π΅ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ввСсти Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Для программиста Π½Π° C это argv[0], ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π² main () ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, os.execv ('/bin/echo', ['foo', 'bar']) Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ bar Π½Π° стандартном Π²Ρ‹Π²ΠΎΠ΄Π΅; foo Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ.

  • os.abort ()

  • os.add_dll_directory ()

  • os.execl () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execle () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execlp () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execlpe () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execv () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execve () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execvp () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os.execvpe () - запускаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс, замСняя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

  • os._exit () - Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· процСсса с ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ статусом

  • os.fork () - отвСтвляСт Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ процСссы

  • os.forkpty ()

  • os.kill () - отправляСт сигнал процСссу, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ

  • os.killpg ()

  • os.nice ()

  • os.plock ()

  • os.popen () - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°Π½Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ исполнСния ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ shell

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.startfile () - запускаСт Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ связанного с Π½ΠΈΠΌ прилоТСния

  • os.system () - исполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (строку) Π² Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ shell

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.waitpid () - Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.WNOHANG - Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· waitpid(), Ссли процСсс нСдоступСн

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°

  • os.confstr ()

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

  • os.sysconf_names

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ манипулирования путями. Они ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ высокого уровня с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡƒΡ‚Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ os.path.

  • os.curdir - строка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой для ссылки Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

  • os.pardir - строка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой для ссылки Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

  • os.sep - символ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой для раздСлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡƒΡ‚ΠΈ

  • os.altsep

  • os.extsep

  • os.pathsep - символ раздСлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡƒΡ‚ΠΈ поиска Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния ОБ

  • os.defpath

  • os.linesep - строка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для раздСлСния (Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ) строк Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅

  • os.devnull

  • Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ...

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа

Last updated