Қоршаған ортада жұмыс істейтін ОЖ мен Python нұсқасы туралы ақпарат алыңыз.

Іскерлік

Стандартты кітапханалық платформа модулі Python жұмыс істейтін операциялық жүйе және оның нұсқасы (шығарылымы) туралы ақпарат алу үшін қолданылады. Бұл модульдің көмегімен әр ОЖ мен нұсқа үшін процесті ауыстыруға болады.

Мұнда келесі ақпарат берілген.

  • ОЖ атын алыңыз:platform.system()
  • Нұсқа (шығарылым) туралы ақпаратты алу:platform.release(),version()
  • ОС пен нұсқаны бірден алыңыз:platform.platform()
  • Әр ОЖ үшін нәтижелердің мысалдары
    • macOS
    • Windows
    • Ubuntu
  • ОЖ -ге байланысты өңдеуге ауысатын код үлгісі

Егер сіз жұмыс істейтін Python нұсқасын білгіңіз келсе, келесі мақаланы қараңыз.

Бірінші жартыжылдықтағы барлық үлгі коды macOS Mojave 10.14.2; Windows пен Ubuntu -дағы мысал нәтижелері екінші жартысында көрсетіледі; ОЖ-ге тән функциялар екінші жартысында да талқыланады.

ОЖ атауын алыңыз: platform.system ()

ОЖ атауын platform.system () алады. Қайтарылатын мән – бұл жол.

import platform

print(platform.system())
# Darwin

Нұсқа (шығарылым) туралы ақпаратты алыңыз: platform.release (), version ()

ОЖ нұсқасы (шығару) туралы ақпарат келесі функциялармен алынады. Екі жағдайда да қайтару мәні жол болып табылады.

  • platform.release()
  • platform.version()

Келесі мысалда көрсетілгендей, platform.release () қарапайым мазмұнды қайтарады.

print(platform.release())
# 18.2.0

print(platform.version())
# Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64

ОЖ мен нұсқаны бірден алыңыз: platform.platform ()

OS аты мен нұсқасы (шығарылымы) туралы ақпаратты platform.platform () көмегімен бірге алуға болады. Қайтарылатын мән – бұл жол.

print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit

Егер аргумент мәнінің мәні TRUE болса, тек ең аз ақпарат қайтарылады.

print(platform.platform(terse=True))
# Darwin-18.2.0

Бүркеншік атпен дәлел келтірілген.

print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit

Нәтиже мысал ортада бірдей, бірақ кейбір операциялық жүйелер ОС аты ретінде бүркеншік атын қайтарады.

Егер бүркеншік аты дұрыс болса, ол нәтижені жүйенің жалпы атауының орнына бүркеншік атпен қайтарады. Мысалы, SunOS Solaris болады.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation

Әр ОЖ үшін нәтижелердің мысалдары

MacOS, Windows және Ubuntu нәтижелерінің мысалдары, сонымен қатар ОЖ-ге тән функциялар көрсетіледі.

macOS

MacOS Mojave 10.14.2 нәтижесінің мысалы. Жоғарыда көрсетілген мысалмен бірдей.

print(platform.system())
# Darwin

print(platform.release())
# 18.2.0

print(platform.version())
# Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64

print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit

Назар аударыңыз, бұл macOS немесе Mojave емес, Дарвин.
Дарвин туралы қосымша ақпарат алу үшін Уикипедия бетін қараңыз. Сондай -ақ, macOS жүйесінде соңғы нұсқа нөмірі мен атау арасындағы сәйкестіктің сипаттамасы бар.

Platform.mac_ver () деп аталатын madOS-қа тән функция бар.
Қайтару мәні кортеж ретінде қайтарылады (шығарылым, нұсқа ақпарат, машина).
Мысал ортасында versioninfo белгісіз және бос жолдар жиынтығы.

print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')

Windows

Windows 10 Home жүйесіндегі нәтижелердің мысалы.

print(platform.system())
# Windows

print(platform.release())
# 10

print(platform.version())
# 10.0.17763

print(platform.platform())
# Windows-10-10.0.17763-SP0

Platform.release () қайтарудың 10 мәні бүтін сан емес, жол екенін ескеріңіз.

Windows-қа арналған platform.win32_ver () функциясы бар.
Қайтару мәні кортеж ретінде қайтарылады (шығарылым, нұсқа, csd, ptype).
csd қызмет бумасының күйін көрсетеді.

print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')

Ubuntu

Ubuntu 18.04.1 LTS нәтижесінің мысалы.

print(platform.system())
# Linux

print(platform.release())
# 4.15.0-42-generic

print(platform.version())
# #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018

print(platform.platform())
# Linux-4.15.0-44-generic-x86_64-with-Ubuntu-18.04-bionic

Unix-ке тән платформа.linux_distribution () бар.
Қайтару мәні кортеж ретінде қайтарылады (атау, нұсқа, идентификатор).

print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')

Python 3.8 -де platform.linux_distribution () жойылғанын ескеріңіз. Оның орнына үшінші тарап кітапханасының дистрибутивін пайдалану ұсынылады, оны pip көмегімен бөлек орнату қажет.

ОЖ -ге байланысты өңдеуге ауысатын код үлгісі

Егер сіз ОЖ -ге байланысты қолданылатын функцияны немесе әдісті ауыстырғыңыз келсе, мәнді анықтау үшін platform.system () сияқты әдісті қолдануға болады.

Төменде файлдың жасалу күнін алуға мысал келтірілген.

def creation_date(path_to_file):
    """
    Try to get the date that a file was created, falling back to when it was
    last modified if that isn't possible.
    See http://stackoverflow.com/a/39501288/1709587 for explanation.
    """
    if platform.system() == 'Windows':
        return os.path.getctime(path_to_file)
    else:
        stat = os.stat(path_to_file)
        try:
            return stat.st_birthtime
        except AttributeError:
            # We're probably on Linux. No easy way to get creation dates here,
            # so we'll settle for when its content was last modified.
            return stat.st_mtime

Бұл мысалда platform.system () мәні алдымен Windows немесе басқа екенін анықтау үшін қолданылады.
Содан кейін, ол st_birthtime атрибуты бар жағдай мен басқа жағдайлар арасындағы процесті ауыстыру үшін ерекше жағдайларды өңдеуді қолданады.

Copied title and URL