sys.platform

sys.platform

Π­Ρ‚Π° строка содСрТит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для добавлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², зависящих ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π² sys.path.

Для систСм Unix, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Linux ΠΈ AIX, это имя ОБ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ uname -s, с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ части вСрсии, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ uname -r, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 'sunos5' ΠΈΠ»ΠΈ 'freebsd8' Π²ΠΎ врСмя создания Python. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ΄ΠΈΠΎΠΌΡƒ, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ систСмы:

if sys.platform.startswith('freebsd'):
    # FreeBSD-specific code here...
elif sys.platform.startswith('linux'):
    # Linux-specific code here...
elif sys.platform.startswith('aix'):
    # AIX-specific code here...

Для Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм это значСния:

System

platform value

AIX

'aix'

Linux

'linux'

Windows

'win32'

Windows/Cygwin

'cygwin'

macOS

'darwin'

ИзмСнСно Π² вСрсии 3.3: Π² Linux sys.platform большС Π½Π΅ содСрТит ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π­Ρ‚ΠΎ всСгда 'linux', Π° Π½Π΅ 'linux2' ΠΈΠ»ΠΈ 'linux3'. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ старыС вСрсии Python Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, рСкомСндуСтся всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄ΠΈΠΎΠΌΡƒ startswith, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅.

ИзмСнСно Π² вСрсии 3.8: Π’ AIX sys.platform большС Π½Π΅ содСрТит ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π­Ρ‚ΠΎ всСгда 'aix', Π° Π½Π΅ 'aix5' ΠΈΠ»ΠΈ 'aix7'. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ старыС вСрсии Python Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, рСкомСндуСтся всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄ΠΈΠΎΠΌΡƒ startswith, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅.

Last updated

Was this helpful?