Modul platform perpustakaan standar digunakake kanggo njupuk informasi babagan sistem operasi sing digunakake Python lan versi (rilis). Nggunakake modul iki, sampeyan bisa ngoper proses kanggo saben OS lan versi.
Informasi ing ngisor iki diwenehake ing kene.
- Goleki jeneng OS:
platform.system()
- Entuk informasi versi (rilis):
platform.release()
,version()
- Goleki OS lan versi sekaligus:
platform.platform()
- Tuladha asil kanggo saben OS
- macOS
- Windows
- Ubuntu
- Kode conto kanggo ngolah proses gumantung saka OS
Yen sampeyan pengin ngerti versi Python sing sampeyan lakoni, deleng artikel ing ngisor iki.
- Artikel sing gegandhengan:Priksa lan nampilake versi Python (kayata sys.versi)
Kabeh kode conto ing babak pisanan mbukak ing macOS Mojave 10.14.2; conto asil ing Windows lan Ubuntu ditampilake ing babak kapindho; Fungsi khusus OS uga dibahas ing babak kapindho.
Goleki jeneng OS: platform.system ()
Jeneng OS dipikolehi dening platform.system (). Nilai bali minangka senar.
import platform
print(platform.system())
# Darwin
Entuk informasi versi (rilis): platform.release (), versi ()
Informasi versi (rilis) OS dipikolehi kanthi fungsi ing ngisor iki. Ing kalorone kasus kasebut, regane bali yaiku string.
platform.release()
platform.version()
Kaya sing dituduhake ing conto ing ngisor iki, platform.release () ngasilake konten sing luwih gampang.
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
Entuk OS lan versi sekaligus: platform.platform ()
Informasi OS lan versi (rilis) OS bisa dipikolehi bebarengan nggunakake platform.platform (). Nilai bali minangka senar.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Yen nilai argumen terse TRUE, mung informasi minimal sing bakal dikembalikan.
print(platform.platform(terse=True))
# Darwin-18.2.0
Uga ana argumen sing diarani alias.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
Asile padha ing conto lingkungan, nanging sawetara sistem operasi bakal ngasilake alias minangka jeneng OS.
Yen aliased iku bener, bakal ngasilake asil nggunakake alias tinimbang jeneng umum sistem. Contone, SunOS dadi Solaris.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
Tuladha asil kanggo saben OS
Tuladha asil ing macOS, Windows, lan Ubuntu bakal ditampilake, uga fungsi khusus OS.
macOS
Tuladha asil ing macOS Mojave 10.14.2. Padha karo conto ing ndhuwur.
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
Elinga yen Darwin, dudu macOS utawa Mojave.
Kanggo informasi luwih lengkap babagan Darwin, deleng kaca Wikipedia. Uga ana katrangan korespondensi antarane nomer versi paling anyar lan jeneng ing macOS.
Ana fungsi khusus madOS sing diarani platform.mac_ver ().
Nilai bali dikembalikan dadi tuple (rilis, versiinfo, mesin).
Ing conto lingkungan, versiinfo ora dingerteni lan tupai senar kosong.
print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')
Windows
Tuladha asil ing 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
Elinga yen nilai bali 10 saka platform.release () minangka string, dudu bilangan bulat.
Ana fungsi khusus Windows sing diarani platform.win32_ver ().
Nilai bali dikembalikan dadi tuple (rilis, versi, csd, ptype).
csd nuduhake status paket layanan.
print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')
Ubuntu
Tuladha asil ing 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
Ana platform fungsi khusus Unix.linux_distribution ().
Nilai bali dikembalikan dadi tuple (distname, versi, id).
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
Elinga yen platform.linux_distribution () wis dicopot ing Python 3.8. Disaranake nggunakake distro perpustakaan pihak katelu, sing kudu diinstal kanthi kapisah nggunakake pip.
Kode conto kanggo ngolah proses gumantung saka OS
Yen sampeyan pengin ngoper fungsi utawa cara kanggo digunakake gumantung karo OS, sampeyan bisa nggunakake cara kayata platform.system () kanggo nemtokake regane.
Ing ngisor iki minangka conto kanggo njupuk tanggal nggawe file.
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
Ing conto iki, regane platform.system () pisanan digunakake kanggo nemtokake manawa Windows utawa liyane.
Banjur, luwih nggunakake penanganan istiméwa kanggo ngoper proses ing antarane kasus sing ana atribut st_birthtime lan kasus liyane.