Стандартты кітапханалық платформа модулі Python жұмыс істейтін операциялық жүйе және оның нұсқасы (шығарылымы) туралы ақпарат алу үшін қолданылады. Бұл модульдің көмегімен әр ОЖ мен нұсқа үшін процесті ауыстыруға болады.
Мұнда келесі ақпарат берілген.
- ОЖ атын алыңыз:
platform.system()
- Нұсқа (шығарылым) туралы ақпаратты алу:
platform.release()
,version()
- ОС пен нұсқаны бірден алыңыз:
platform.platform()
- Әр ОЖ үшін нәтижелердің мысалдары
- macOS
- Windows
- Ubuntu
- ОЖ -ге байланысты өңдеуге ауысатын код үлгісі
Егер сіз жұмыс істейтін Python нұсқасын білгіңіз келсе, келесі мақаланы қараңыз.
- Қатысты мақалалар:Python нұсқасын тексеріңіз және көрсетіңіз (мысалы, sys.version)
Бірінші жартыжылдықтағы барлық үлгі коды 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 атрибуты бар жағдай мен басқа жағдайлар арасындағы процесті ауыстыру үшін ерекше жағдайларды өңдеуді қолданады.