os.stat ()

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ статус Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора. ВыполняСт эквивалСнт систСмного Π²Ρ‹Π·ΠΎΠ²Π° stat () ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ path. ΠŸΡƒΡ‚ΡŒ path ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ строка ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚Ρ‹ - прямо ΠΈΠ»ΠΈ косвСнно Ρ‡Π΅Ρ€Π΅Π· интСрфСйс PathLike - ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ дСскриптор ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ stat_result.

Π­Ρ‚Π° функция ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ слСдуСт Π·Π° символичСскими ссылками; Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ follow_symlinks = False ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ lstat ().

Π­Ρ‚Π° функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ дСскриптора Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ символичСским ссылкам.

Π’ Windows ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° follow_symlinks = False ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ отслСТиваниС всСх Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ суррогата ΠΈΠΌΠ΅Π½ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ символичСскиС ссылки ΠΈ соСдинСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ссылки ΠΈΠ»ΠΈ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ опСрационная систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠŸΡ€ΠΈ слСдовании Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ссылок это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Ρƒ исходной ссылки вмСсто нСсвязки, которая прСпятствовала ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ. Π’ этом случаС для получСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² статистики для ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ os.path.realpath (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ имя ΠΏΡƒΡ‚ΠΈ, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ lstat () для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π­Ρ‚ΠΎ Π½Π΅ относится ΠΊ висячим символичСским ссылкам ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

>>> import os
>>> statinfo = os.stat('somefile.txt')
>>> statinfo
os.stat_result(st_mode=33188, st_ino=7876932, st_dev=234881026,
st_nlink=1, st_uid=501, st_gid=501, st_size=264, st_atime=1297230295,
st_mtime=1297230027, st_ctime=1297230027)
>>> statinfo.st_size
264

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fstat () ΠΈ lstat ().

НовоС Π² вСрсии 3.3: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ dir_fd ΠΈ follow_symlinks, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ дСскриптор Ρ„Π°ΠΉΠ»Π° вмСсто ΠΏΡƒΡ‚ΠΈ.

ИзмСнСно Π² вСрсии 3.6: ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΠΈ (path-like object ).

ИзмСнСно Π² вСрсии 3.8: Π² Windows Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ всС Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° follow_symlinks = False ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ отслСТиваниС всСх Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ суррогатных ΠΈΠΌΠ΅Π½. Если опСрационная систСма достигаСт Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ, stat Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для исходного ΠΏΡƒΡ‚ΠΈ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π±Ρ‹Π»Π° ΡƒΠΊΠ°Π·Π°Π½Π° follow_symlinks = False, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Last updated