Стандарт номын сангийн платформ модулийг Python ажиллаж байгаа үйлдлийн систем болон түүний хувилбар (хувилбар) -ийн талаар мэдээлэл авахад ашигладаг. Энэ модулийг ашигласнаар OS болон хувилбар бүрийн хувьд процессыг солих боломжтой.
Дараахь мэдээллийг энд оруулав.
- OS нэрийг авах:
platform.system()
- Хувилбар (хувилбар) -ын мэдээллийг авах:
platform.release()
,version()
- OS болон хувилбарыг нэг дор авах:
platform.platform()
- OS бүрийн үр дүнгийн жишээ
- macOS
- Windows
- Ubuntu
- OS -ээс хамааран боловсруулалтыг солих жишээ код
Хэрэв та ажиллаж байгаа Python -ийн хувилбарыг мэдэхийг хүсвэл дараах нийтлэлийг үзнэ үү.
- Холбогдох нийтлэлүүд:Python хувилбарыг шалгаж, харуулах (жишээ нь sys.version)
Эхний хагаст бүх дээжийн кодыг macOS Mojave 10.14.2 дээр ажиллуулдаг; Windows болон Ubuntu дээрх жишээ үр дүнг хоёрдугаар хагаст харуулав; OS-ийн онцлог функцуудыг хоёрдугаар хагаст хэлэлцэх болно.
OS нэрийг авна уу: platform.system ()
OS -ийн нэрийг platform.system () олж авдаг. Буцаах утга нь мөр юм.
import platform
print(platform.system())
# Darwin
Хувилбар (хувилбар) мэдээллийг авах: platform.release (), хувилбар ()
OS -ийн хувилбар (гаргах) мэдээллийг дараах функцүүдийн тусламжтайгаар олж авдаг. Аль ч тохиолдолд буцах утга нь тэмдэгт мөр болно.
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
OS болон хувилбарыг нэг дор авах: platform.platform ()
OS -ийн нэр, хувилбар (хувилбар) -ыг platform.platform () ашиглан хамтдаа авах боломжтой. Буцаах утга нь мөр юм.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Хэрэв аргументийн утга нь ҮНЭН бол зөвхөн хамгийн бага мэдээллийг л буцаана.
print(platform.platform(terse=True))
# Darwin-18.2.0
Бас өөр нэртэй маргаан байдаг.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
Үр дүн нь жишээ орчинд адилхан боловч зарим үйлдлийн системүүд OS нэрийг өөр нэрээр буцаана.
Хэрэв aliased гэдэг нь үнэн бол системийн нийтлэг нэрийн оронд өөр нэр ашиглан үр дүнг буцаана. Жишээлбэл, SunOS нь Solaris болдог.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
OS бүрийн үр дүнгийн жишээ
MacOS, Windows, Ubuntu дээрх үр дүнгийн жишээг үзүүлэхээс гадна OS-д зориулсан функцуудыг харуулах болно.
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 биш Дарвин гэдгийг анхаарна уу.
Дарвины талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл Wikipedia хуудаснаас үзнэ үү. MacOS дээрх хамгийн сүүлийн хувилбарын дугаар ба нэр хоёрын хоорондох захидал харилцааны тайлбар бас байдаг.
Platform.mac_ver () нэртэй madOS-д зориулсан тусгай функц байдаг.
Буцаах утгыг tuple (release, versioninfo, machine) хэлбэрээр буцаана.
Жишээ орчинд хувилбарinfo нь тодорхойгүй бөгөөд хоосон мөрийн багц юм.
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 ().
Буцаах утгыг tuple (distname, version, id) хэлбэрээр буцаана.
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
Python 3.8 дээр platform.linux_distribution () -ийг устгасан болохыг анхаарна уу. Үүний оронд pip ашиглан тусад нь суулгах шаардлагатай гуравдагч талын номын сангийн distro -ийг ашиглахыг зөвлөж байна.
OS -ээс хамааран боловсруулалтыг солих жишээ код
Хэрэв та OS -ээс хамаарч ашиглагдах функц, аргыг солихыг хүсвэл утгыг тодорхойлохын тулд 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 шинж чанар байгаа тохиолдол болон бусад тохиолдлуудын хооронд процессыг шилжүүлэхийн тулд онцгой зохицуулалтыг ашигладаг.